From a8ea8cebc051c1fe30200fabf58a8f49b759f0e4 Mon Sep 17 00:00:00 2001 From: Wesley Wang Date: Wed, 22 Feb 2023 17:42:15 +0800 Subject: [PATCH] Add a Settings value to store extra battery saver state - Store extra battery saver enable state - Store extra battery saver first time warning Bug: 260380584 Test: Build pass and local access verify, pass atest Change-Id: I9b324c2ecd984db3b1d8ec49cbe7d19efbe6d240 --- core/java/android/provider/Settings.java | 15 +++++++++++++++ .../provider/settings/backup/SecureSettings.java | 2 ++ .../validators/SecureSettingsValidators.java | 2 ++ .../src/android/provider/SettingsBackupTest.java | 2 +- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 54e4909c12aff..4065e94b48b7c 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -10783,6 +10783,15 @@ public final class Settings { public static final String LOW_POWER_WARNING_ACKNOWLEDGED = "low_power_warning_acknowledged"; + /** + * Whether the "first time extra battery saver warning" dialog needs to be shown + * (0: default) or not (1). + * + * @hide + */ + public static final String EXTRA_LOW_POWER_WARNING_ACKNOWLEDGED = + "extra_low_power_warning_acknowledged"; + /** * 0 (default) Auto battery saver suggestion has not been suppressed. 1) it has been * suppressed. @@ -15198,6 +15207,12 @@ public final class Settings { @Readable public static final String LOW_POWER_MODE = "low_power"; + /** + * If 1 extra low power mode is enabled. + * @hide + */ + public static final String EXTRA_LOW_POWER_MODE = "extra_low_power"; + /** * If 1, battery saver ({@link #LOW_POWER_MODE}) will be re-activated after the device * is unplugged from a charger or rebooted. diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java index 210a38796b6a9..93394f3872ee6 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -142,6 +142,8 @@ public class SecureSettings { Settings.Secure.SHOW_FIRST_CRASH_DIALOG_DEV_OPTION, Settings.Secure.VOLUME_HUSH_GESTURE, Settings.Secure.MANUAL_RINGER_TOGGLE_COUNT, + Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED, + Settings.Secure.EXTRA_LOW_POWER_WARNING_ACKNOWLEDGED, Settings.Secure.HUSH_GESTURE_USED, Settings.Secure.IN_CALL_NOTIFICATION_ENABLED, Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index 39cd24a3b6d42..96578626d5ccf 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -219,6 +219,8 @@ public class SecureSettingsValidators { COLON_SEPARATED_PACKAGE_LIST_VALIDATOR); // legacy restore setting VALIDATORS.put(Secure.HUSH_GESTURE_USED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.MANUAL_RINGER_TOGGLE_COUNT, NON_NEGATIVE_INTEGER_VALIDATOR); + VALIDATORS.put(Secure.LOW_POWER_WARNING_ACKNOWLEDGED, BOOLEAN_VALIDATOR); + VALIDATORS.put(Secure.EXTRA_LOW_POWER_WARNING_ACKNOWLEDGED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.IN_CALL_NOTIFICATION_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, BOOLEAN_VALIDATOR); diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index c0176d57cd59d..278ceb944ef6a 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -322,6 +322,7 @@ public class SettingsBackupTest { Settings.Global.LOW_BATTERY_SOUND, Settings.Global.LOW_BATTERY_SOUND_TIMEOUT, Settings.Global.LOW_POWER_MODE, + Settings.Global.EXTRA_LOW_POWER_MODE, Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, Settings.Global.LOW_POWER_MODE_STICKY, Settings.Global.LOW_POWER_MODE_SUGGESTION_PARAMS, @@ -800,7 +801,6 @@ public class SettingsBackupTest { Settings.Secure.PARENTAL_CONTROL_REDIRECT_URL, Settings.Secure.BLUETOOTH_ON_WHILE_DRIVING, Settings.Secure.LOW_POWER_MANUAL_ACTIVATION_COUNT, - Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED, Settings.Secure.SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION, Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE, Settings.Secure.FLASHLIGHT_AVAILABLE,