summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wale Ogunwale <ogunwale@google.com> 2017-06-01 10:22:36 -0700
committer Wale Ogunwale <ogunwale@google.com> 2017-06-01 12:02:54 -0700
commitface3bba70d8aa9dad4cd8e04c1923a05495ab65 (patch)
tree509f53f5ba4ef4069e80763d65ecd1e1ac93513c
parent8bc542695c2796fd26d230b86b5f2628ddb9fd1c (diff)
Add channel group for alert windows notifications
Bug: 62256269 Test: manual Change-Id: If4253cb8303124c5c6d974e9680486d77f314059
-rw-r--r--core/res/res/values/strings.xml3
-rw-r--r--core/res/res/values/symbols.xml1
-rw-r--r--services/core/java/com/android/server/wm/AlertWindowNotification.java9
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);
}