diff options
| author | 2017-06-01 10:22:36 -0700 | |
|---|---|---|
| committer | 2017-06-01 12:02:54 -0700 | |
| commit | face3bba70d8aa9dad4cd8e04c1923a05495ab65 (patch) | |
| tree | 509f53f5ba4ef4069e80763d65ecd1e1ac93513c | |
| parent | 8bc542695c2796fd26d230b86b5f2628ddb9fd1c (diff) | |
Add channel group for alert windows notifications
Bug: 62256269
Test: manual
Change-Id: If4253cb8303124c5c6d974e9680486d77f314059
| -rw-r--r-- | core/res/res/values/strings.xml | 3 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/AlertWindowNotification.java | 9 |
3 files changed, 13 insertions, 0 deletions
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index f747d3dfcba3..90ece60d324d 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -3223,6 +3223,9 @@ <!-- Alert windows notification strings --> <skip /> + <!-- Name of notification channel group the system post notification to inform the use about apps + that are drawing ui on-top of other apps (alert-windows) [CHAR LIMIT=NONE] --> + <string name="alert_windows_notification_channel_group_name">Display over other apps</string> <!-- Name of notification channel the system post notification to inform the use about apps that are drawing ui on-top of other apps (alert-windows) [CHAR LIMIT=NONE] --> <string name="alert_windows_notification_channel_name"><xliff:g id="name" example="Google Maps">%s</xliff:g> displaying over other apps</string> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 8d2666e7c648..bfd40bd704e1 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2946,6 +2946,7 @@ <java-symbol type="drawable" name="resolver_icon_placeholder" /> <!-- Alert windows notification --> + <java-symbol type="string" name="alert_windows_notification_channel_group_name" /> <java-symbol type="string" name="alert_windows_notification_channel_name" /> <java-symbol type="string" name="alert_windows_notification_title" /> <java-symbol type="string" name="alert_windows_notification_message" /> diff --git a/services/core/java/com/android/server/wm/AlertWindowNotification.java b/services/core/java/com/android/server/wm/AlertWindowNotification.java index 972623c9478d..7eebe39f4ee4 100644 --- a/services/core/java/com/android/server/wm/AlertWindowNotification.java +++ b/services/core/java/com/android/server/wm/AlertWindowNotification.java @@ -25,6 +25,7 @@ import static android.provider.Settings.ACTION_MANAGE_OVERLAY_PERMISSION; import android.app.Notification; import android.app.NotificationChannel; +import android.app.NotificationChannelGroup; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; @@ -45,6 +46,7 @@ class AlertWindowNotification { private static final int NOTIFICATION_ID = 0; private static int sNextRequestCode = 0; + private static NotificationChannelGroup sChannelGroup; private final int mRequestCode; private final WindowManagerService mService; private String mNotificationTag; @@ -61,6 +63,12 @@ class AlertWindowNotification { mNotificationTag = CHANNEL_PREFIX + mPackageName; mRequestCode = sNextRequestCode++; mIconUtilities = new IconUtilities(mService.mContext); + if (sChannelGroup == null) { + sChannelGroup = new NotificationChannelGroup(CHANNEL_PREFIX, + mService.mContext.getString( + R.string.alert_windows_notification_channel_group_name)); + mNotificationManager.createNotificationChannelGroup(sChannelGroup); + } } void post() { @@ -142,6 +150,7 @@ class AlertWindowNotification { channel.enableLights(false); channel.enableVibration(false); channel.setBlockableSystem(true); + channel.setGroup(sChannelGroup.getId()); mNotificationManager.createNotificationChannel(channel); } |