summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java18
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java4
2 files changed, 17 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
index c53ee5f28eb3..a70b3587f195 100644
--- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
+++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
@@ -484,16 +484,24 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI {
d.setMessage(mContext.getString(R.string.auto_saver_enabled_text,
getLowBatteryAutoTriggerDefaultLevel()));
- // Negative == "got it". Just close the dialog. Battery saver has already been enabled.
- d.setNegativeButton(R.string.auto_saver_okay_action, null);
- d.setPositiveButton(R.string.open_saver_setting_action, (dialog, which) ->
- mContext.startActivity(actionBatterySaverSetting));
+ // "Got it". Just close the dialog. Automatic battery has been enabled already.
+ d.setPositiveButton(R.string.auto_saver_okay_action,
+ (dialog, which) -> onAutoSaverEnabledConfirmationClosed());
+
+ // "Settings" -> Opens the battery saver settings activity.
+ d.setNeutralButton(R.string.open_saver_setting_action, (dialog, which) -> {
+ mContext.startActivity(actionBatterySaverSetting);
+ onAutoSaverEnabledConfirmationClosed();
+ });
d.setShowForAllUsers(true);
- d.setOnDismissListener((dialog) -> mSaverEnabledConfirmation = null);
+ d.setOnDismissListener((dialog) -> onAutoSaverEnabledConfirmationClosed());
d.show();
mSaverEnabledConfirmation = d;
}
+ private void onAutoSaverEnabledConfirmationClosed() {
+ mSaverEnabledConfirmation = null;
+ }
private void setSaverMode(boolean mode, boolean needFirstTimeWarning) {
BatterySaverUtils.setPowerSaveMode(mContext, mode, needFirstTimeWarning);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java
index 378dad76a28c..6a8d3a50eddd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java
@@ -69,6 +69,10 @@ public class SystemUIDialog extends AlertDialog {
setButton(BUTTON_NEGATIVE, mContext.getString(resId), onClick);
}
+ public void setNeutralButton(int resId, OnClickListener onClick) {
+ setButton(BUTTON_NEUTRAL, mContext.getString(resId), onClick);
+ }
+
public static void setShowForAllUsers(Dialog dialog, boolean show) {
if (show) {
dialog.getWindow().getAttributes().privateFlags |=