blob: dd352b50bed498ab80727a7b8267ade8e3d216e6 [file] [log] [blame]
syntax = "proto2";
package com.android.server.wm.flicker;
// Each message has its own class file created.
option java_multiple_files = true;
message FlickerTagProto {
enum Transition {
ROTATION = 0;
APP_LAUNCH = 1;
APP_CLOSE = 2;
IME_APPEAR = 3;
IME_DISAPPEAR = 4;
PIP_ENTER = 5;
PIP_RESIZE = 6;
PIP_EXIT = 7;
};
required bool isStartTag = 1;
required Transition transition = 2;
required int32 id = 3;
optional int32 layerId = 4;
optional string windowToken = 5;
optional int32 taskId = 6;
}
message FlickerTagStateProto {
required int64 timestamp = 1;
repeated FlickerTagProto tags = 2;
}
message FlickerTagTraceProto {
/* constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 |
MagicNumber.MAGIC_NUMBER_L (this is needed because enums have to be 32 bits
and there's no nice way to put 64bit constants into .proto files. */
enum MagicNumber {
INVALID = 0;
MAGIC_NUMBER_L = 0x54474154; /* TAGT (little-endian ASCII) */
MAGIC_NUMBER_H = 0x45434152; /* RACE (little-endian ASCII) */
}
/* Must be the first field, set to value in MagicNumber */
optional fixed64 magic_number = 1;
repeated FlickerTagStateProto states = 2;
}