From 400e04438e6201a22700cfa98cf111c867e6f034 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Thu, 23 May 2019 18:41:23 -0700 Subject: [PATCH] Showing battery saver notifications in secondary profiles. Also making the channels blockable. Bug: 133446054 Test: charge device above 90%, turn on battery saver, plug device and then unplug Change-Id: I525a72e75128f1b0ff5a24e204f8fc331c1c2609 --- .../power/batterysaver/BatterySaverStateMachine.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java b/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java index b7e18c35829e7..ff9129956a3b4 100644 --- a/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java +++ b/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java @@ -791,11 +791,12 @@ public class BatterySaverStateMachine { ensureNotificationChannelExists(manager, DYNAMIC_MODE_NOTIF_CHANNEL_ID, R.string.dynamic_mode_notification_channel_name); - manager.notify(DYNAMIC_MODE_NOTIFICATION_ID, + manager.notifyAsUser(TAG, DYNAMIC_MODE_NOTIFICATION_ID, buildNotification(DYNAMIC_MODE_NOTIF_CHANNEL_ID, mContext.getResources().getString(R.string.dynamic_mode_notification_title), R.string.dynamic_mode_notification_summary, - Intent.ACTION_POWER_USAGE_SUMMARY)); + Intent.ACTION_POWER_USAGE_SUMMARY), + UserHandle.ALL); } @VisibleForTesting @@ -806,12 +807,13 @@ public class BatterySaverStateMachine { final String percentage = NumberFormat.getPercentInstance() .format((double) mBatteryLevel / 100.0); - manager.notify(STICKY_AUTO_DISABLED_NOTIFICATION_ID, + manager.notifyAsUser(TAG, STICKY_AUTO_DISABLED_NOTIFICATION_ID, buildNotification(BATTERY_SAVER_NOTIF_CHANNEL_ID, mContext.getResources().getString( R.string.battery_saver_charged_notification_title, percentage), R.string.battery_saver_off_notification_summary, - Settings.ACTION_BATTERY_SAVER_SETTINGS)); + Settings.ACTION_BATTERY_SAVER_SETTINGS), + UserHandle.ALL); } private void ensureNotificationChannelExists(NotificationManager manager, @@ -819,6 +821,7 @@ public class BatterySaverStateMachine { NotificationChannel channel = new NotificationChannel( channelId, mContext.getText(nameId), NotificationManager.IMPORTANCE_DEFAULT); channel.setSound(null, null); + channel.setBlockableSystem(true); manager.createNotificationChannel(channel); }