Merge "Persist Locus Id Event to UsageStatsProto." into rvc-dev

This commit is contained in:
Varun Shah
2020-05-09 08:58:13 +00:00
committed by Android (Google) Code Review
3 changed files with 18 additions and 0 deletions

View File

@@ -93,6 +93,8 @@ message IntervalStatsProto {
optional int32 task_root_package_index = 15;
// task_root_class_index contains the index + 1 of the task root class name in the string pool
optional int32 task_root_class_index = 16;
// locus_id_index contains the index + 1 of the locus id in the string pool
optional int32 locus_id_index = 17;
}
// The following fields contain supplemental data used to build IntervalStats, such as a string

View File

@@ -234,6 +234,10 @@ public class IntervalStats {
event.mTaskRootClass = getCachedStringRef(stringPool.get(
parser.readInt(IntervalStatsProto.Event.TASK_ROOT_CLASS_INDEX) - 1));
break;
case (int) IntervalStatsProto.Event.LOCUS_ID_INDEX:
event.mLocusId = getCachedStringRef(stringPool.get(
parser.readInt(IntervalStatsProto.Event.LOCUS_ID_INDEX) - 1));
break;
case ProtoInputStream.NO_MORE_FIELDS:
// Handle default values for certain events types
switch (event.mEventType) {
@@ -252,6 +256,11 @@ public class IntervalStats {
event.mNotificationChannelId = "";
}
break;
case LOCUS_ID_SET:
if (event.mLocusId == null) {
event.mLocusId = "";
}
break;
}
return event;
}

View File

@@ -481,6 +481,13 @@ final class UsageStatsProto {
}
}
break;
case UsageEvents.Event.LOCUS_ID_SET:
if (event.mLocusId != null) {
final int locusIdIndex = stats.mStringCache.indexOf(event.mLocusId);
if (locusIdIndex >= 0) {
proto.write(IntervalStatsProto.Event.LOCUS_ID_INDEX, locusIdIndex + 1);
}
}
}
proto.end(token);
}