diff options
| -rw-r--r-- | services/core/java/com/android/server/EventLogTags.logtags | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/notification/NotificationManagerService.java | 17 |
2 files changed, 19 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/EventLogTags.logtags b/services/core/java/com/android/server/EventLogTags.logtags index c59ecec725cd..74ff41c13802 100644 --- a/services/core/java/com/android/server/EventLogTags.logtags +++ b/services/core/java/com/android/server/EventLogTags.logtags @@ -80,6 +80,10 @@ option java_package com.android.server 27531 notification_visibility (key|3),(visibile|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1) # a notification emited noise, vibration, or light 27532 notification_alert (key|3),(buzz|1),(beep|1),(blink|1) +# a notification was added to a autogroup +27533 notification_autogrouped (key|3) +# notification was removed from an autogroup +275534 notification_unautogrouped (key|3) # --------------------------- # Watchdog.java diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index cabdced361f9..e411579dbf84 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -2179,8 +2179,14 @@ public class NotificationManagerService extends SystemService { } if (adjustment.getSignals() != null) { Bundle.setDefusable(adjustment.getSignals(), true); - n.sbn.setOverrideGroupKey(adjustment.getSignals().getString( - Adjustment.GROUP_KEY_OVERRIDE_KEY, null)); + final String autoGroupKey = adjustment.getSignals().getString( + Adjustment.GROUP_KEY_OVERRIDE_KEY, null); + if (autoGroupKey == null) { + EventLogTags.writeNotificationUnautogrouped(adjustment.getKey()); + } else { + EventLogTags.writeNotificationAutogrouped(adjustment.getKey()); + } + n.sbn.setOverrideGroupKey(autoGroupKey); } } @@ -2233,6 +2239,13 @@ public class NotificationManagerService extends SystemService { .setFlag(Notification.FLAG_GROUP_SUMMARY, true) .build(); summaryNotification.extras.putAll(extras); + Intent appIntent = getContext().getPackageManager() + .getLaunchIntentForPackage(adjustment.getPackage()); + if (appIntent != null) { + summaryNotification.contentIntent = PendingIntent.getActivityAsUser( + getContext(), 0, appIntent, 0, null, + UserHandle.of(adjustedSbn.getUserId())); + } final StatusBarNotification summarySbn = new StatusBarNotification(adjustedSbn.getPackageName(), adjustedSbn.getOpPkg(), |