From 249490f7dda3dadefc06c2f1e32a663aeb964851 Mon Sep 17 00:00:00 2001 From: Wesley Wang Date: Fri, 4 Mar 2022 18:52:49 +0800 Subject: [PATCH] Adjust low battery notification - Make low battery notification as ongoing notification and remove the delete intent since ongoing notification can not been remove - Remove unused attr Screenshot: https://screenshot.googleplex.com/gj5xYDik5Ct2WQb.png Bug: 207470943 Test: atest SystemUITests Change-Id: I9cfdc8deb455bb5f6707c08ffff3ff3405e99f2b --- packages/SystemUI/res/values/strings.xml | 5 ++++- .../systemui/power/PowerNotificationWarnings.java | 12 ++++++------ .../src/com/android/systemui/power/PowerUI.java | 2 -- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 9e1f57bbfa754..9c8d17ed28c8f 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -66,7 +66,10 @@ Turn on - Turn on Battery Saver + Turn on + + + No thanks diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java index 039c33315741c..e19483ae78457 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java @@ -120,8 +120,6 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { private static final String ACTION_ENABLE_SEVERE_BATTERY_DIALOG = "PNW.enableSevereDialog"; - private static final String SETTINGS_ACTION_OPEN_BATTERY_SAVER_SETTING = - "android.settings.BATTERY_SAVER_SETTINGS"; public static final String BATTERY_SAVER_SCHEDULE_SCREEN_INTENT_ACTION = "com.android.settings.BATTERY_SAVER_SCHEDULE_SETTINGS"; @@ -140,6 +138,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Receiver mReceiver = new Receiver(); private final Intent mOpenBatterySettings = settings(Intent.ACTION_POWER_USAGE_SUMMARY); + private final boolean mUseSevereDialog; private int mBatteryLevel; private int mBucket; @@ -170,6 +169,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { mKeyguard = mContext.getSystemService(KeyguardManager.class); mReceiver.init(); mActivityStarter = activityStarter; + mUseSevereDialog = mContext.getResources().getBoolean(R.bool.config_severe_battery_dialog); } @Override @@ -283,7 +283,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { .setContentText(contentText) .setContentTitle(title) .setOnlyAlertOnce(true) - .setDeleteIntent(pendingBroadcast(ACTION_DISMISSED_WARNING)) + .setOngoing(true) .setStyle(new Notification.BigTextStyle().bigText(contentText)) .setVisibility(Notification.VISIBILITY_PUBLIC); if (hasBatterySettings()) { @@ -298,6 +298,8 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { } if (!mPowerMan.isPowerSaveMode()) { + nb.addAction(0, mContext.getString(R.string.battery_saver_dismiss_action), + pendingBroadcast(ACTION_DISMISSED_WARNING)); nb.addAction(0, mContext.getString(R.string.battery_saver_start_action), pendingBroadcast(ACTION_START_SAVER)); @@ -312,9 +314,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { private boolean showSevereLowBatteryDialog() { final boolean isSevereState = !mCurrentBatterySnapshot.isHybrid() || mBucket < -1; - final boolean useSevereDialog = mContext.getResources().getBoolean( - R.bool.config_severe_battery_dialog); - return isSevereState && useSevereDialog; + return isSevereState && mUseSevereDialog; } private void showAutoSaverSuggestionNotification() { diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java index 56528c9974ac0..61b434d6a28f1 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java @@ -51,7 +51,6 @@ import com.android.systemui.statusbar.phone.CentralSurfaces; import java.io.FileDescriptor; import java.io.PrintWriter; -import java.time.Duration; import java.util.Arrays; import java.util.Optional; import java.util.concurrent.Future; @@ -70,7 +69,6 @@ public class PowerUI extends CoreStartable implements CommandQueue.Callbacks { private static final int MAX_RECENT_TEMPS = 125; // TEMPERATURE_LOGGING_INTERVAL plus a buffer static final long THREE_HOURS_IN_MILLIS = DateUtils.HOUR_IN_MILLIS * 3; private static final int CHARGE_CYCLE_PERCENT_RESET = 30; - private static final long SIX_HOURS_MILLIS = Duration.ofHours(6).toMillis(); public static final int NO_ESTIMATE_AVAILABLE = -1; private static final String BOOT_COUNT_KEY = "boot_count"; private static final String PREFS = "powerui_prefs";