From 5dc1edfe1698e5d859c9b9680e503324a44c4225 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Tue, 12 Jun 2018 10:19:02 -0400 Subject: [PATCH] Fix notification interruption stats - Write channelid to xml - Fix issue querying packages by user Test: manual Bug: 79607096 Change-Id: I77b1a532d364fcf97a4dba9d83ce97b93650a88c --- .../com/android/server/usage/UsageStatsService.java | 2 +- .../com/android/server/usage/UsageStatsXmlV1.java | 13 +++++++++++++ .../android/server/usage/UserUsageStatsService.java | 3 +++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index 1d5eeced44b95..b8dfd3856c4a7 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -866,7 +866,7 @@ public class UsageStatsService extends SystemService implements final long token = Binder.clearCallingIdentity(); try { return UsageStatsService.this.queryEventsForPackage(userId, beginTime, - endTime, callingPackage); + endTime, pkg); } finally { Binder.restoreCallingIdentity(token); } diff --git a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java index aa832ad6b0aac..6a1e97a514533 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java +++ b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java @@ -68,6 +68,7 @@ final class UsageStatsXmlV1 { private static final String SHORTCUT_ID_ATTR = "shortcutId"; private static final String STANDBY_BUCKET_ATTR = "standbyBucket"; private static final String APP_LAUNCH_COUNT_ATTR = "appLaunchCount"; + private static final String NOTIFICATION_CHANNEL_ATTR = "notificationChannel"; // Time attributes stored as an offset of the beginTime. private static final String LAST_TIME_ACTIVE_ATTR = "lastTimeActive"; @@ -189,6 +190,11 @@ final class UsageStatsXmlV1 { case UsageEvents.Event.STANDBY_BUCKET_CHANGED: event.mBucketAndReason = XmlUtils.readIntAttribute(parser, STANDBY_BUCKET_ATTR, 0); break; + case UsageEvents.Event.NOTIFICATION_INTERRUPTION: + final String channelId = + XmlUtils.readStringAttribute(parser, NOTIFICATION_CHANNEL_ATTR); + event.mNotificationChannelId = (channelId != null) ? channelId.intern() : null; + break; } if (statsOut.events == null) { @@ -307,6 +313,13 @@ final class UsageStatsXmlV1 { if (event.mBucketAndReason != 0) { XmlUtils.writeIntAttribute(xml, STANDBY_BUCKET_ATTR, event.mBucketAndReason); } + break; + case UsageEvents.Event.NOTIFICATION_INTERRUPTION: + if (event.mNotificationChannelId != null) { + XmlUtils.writeStringAttribute( + xml, NOTIFICATION_CHANNEL_ATTR, event.mNotificationChannelId); + } + break; } xml.endTag(null, EVENT_TAG); diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java index 9cb98f326e753..4efe0b543b18d 100644 --- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java @@ -604,6 +604,9 @@ class UserUsageStatsService { pw.printPair("standbyBucket", event.getStandbyBucket()); pw.printPair("reason", UsageStatsManager.reasonToString(event.getStandbyReason())); } + if (event.mNotificationChannelId != null) { + pw.printPair("channelId", event.mNotificationChannelId); + } pw.printHexPair("flags", event.mFlags); pw.println(); }