summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/proto/android/server/usagestatsservice.proto2
-rw-r--r--services/usage/java/com/android/server/usage/IntervalStats.java9
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsProto.java7
3 files changed, 18 insertions, 0 deletions
diff --git a/core/proto/android/server/usagestatsservice.proto b/core/proto/android/server/usagestatsservice.proto
index f26eefad24e1..e32c07f50ff2 100644
--- a/core/proto/android/server/usagestatsservice.proto
+++ b/core/proto/android/server/usagestatsservice.proto
@@ -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
diff --git a/services/usage/java/com/android/server/usage/IntervalStats.java b/services/usage/java/com/android/server/usage/IntervalStats.java
index 5ee3b4859d54..fd462c2e6dc2 100644
--- a/services/usage/java/com/android/server/usage/IntervalStats.java
+++ b/services/usage/java/com/android/server/usage/IntervalStats.java
@@ -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;
}
diff --git a/services/usage/java/com/android/server/usage/UsageStatsProto.java b/services/usage/java/com/android/server/usage/UsageStatsProto.java
index 463fc378c27d..78b14779d6b3 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsProto.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsProto.java
@@ -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);
}