From b95a0f20dcf19113747d056e9a00e22735dc02d2 Mon Sep 17 00:00:00 2001 From: Harshad Ulhas Dhabu Date: Thu, 10 Dec 2020 01:27:41 +0000 Subject: [PATCH 1/6] Add new keys to Settings Content Provider for Battery Saver Change-Id: I421b315b4472ee0eb76817d563e0bb8165f435c8 (cherry picked from commit ea1972c8de72b826e189af5fe245a7a35b5116f6) --- core/java/android/provider/Settings.java | 37 +++++++++++++++++++ .../validators/GlobalSettingsValidators.java | 10 +++++ 2 files changed, 47 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index f75dd88c9cacc..796cf87541fe9 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -16720,6 +16720,43 @@ public final class Settings { * @hide */ public static final String UNGAZE_ENABLED = "ungaze_enabled"; + + /** + * The device's battery saver mode, which can be one of the following: + * -{@link BATTERY_SAVER_MODE_NONE} + * -{@link BATTERY_SAVER_MODE_LIGHT} + * -{@link BATTERY_SAVER_MODE_TRADITIONAL_WATCH} + * -{@link BATTERY_SAVER_MODE_TIME_ONLY} + * -{@link BATTERY_SAVER_MODE_CUSTOM} + * @hide + */ + public static final String BATTERY_SAVER_MODE = "battery_saver_mode"; + + /** + * Not in Battery Saver Mode + * @hide + */ + public static final int BATTERY_SAVER_MODE_NONE = 0; + /** + * In Lightweight Battery Saver Mode + * @hide + */ + public static final int BATTERY_SAVER_MODE_LIGHT = 1; + /** + * In Traditional Watch Mode Battery Saver Mode + * @hide + */ + public static final int BATTERY_SAVER_MODE_TRADITIONAL_WATCH = 2; + /** + * In Time-only Mode Battery Saver Mode + * @hide + */ + public static final int BATTERY_SAVER_MODE_TIME_ONLY = 3; + /** + * Partner's Battery Saver implementation is being used + * @hide + */ + public static final int BATTERY_SAVER_MODE_CUSTOM = 4; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index ab6a8a9dc56d9..409b0a9aa3814 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -296,6 +296,16 @@ public class GlobalSettingsValidators { VALIDATORS.put(Global.Wearable.OEM_SETUP_VERSION, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.MASTER_GESTURES_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.UNGAZE_ENABLED, BOOLEAN_VALIDATOR); + VALIDATORS.put( + Global.Wearable.BATTERY_SAVER_MODE, + new DiscreteValueValidator( + new String[] { + String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_NONE), + String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_LIGHT), + String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TRADITIONAL_WATCH), + String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TIME_ONLY), + String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_CUSTOM) + })); } } From 936413580de0116d227f90dec87745ec1cbfba12 Mon Sep 17 00:00:00 2001 From: Josh Yang Date: Wed, 28 Apr 2021 17:02:15 -0700 Subject: [PATCH 2/6] [Ambient Lite] Add a WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS setting. See go/sysui-aod-lite-expiration for more details. Bug: 177914227 Test: manual test Change-Id: Ie2751e007a57faba6ae83c48fc494ff80d2dc912 (cherry picked from commit c92d2c67591467541dec962f75a11560a142ef44) --- core/java/android/provider/Settings.java | 7 +++++++ .../settings/validators/GlobalSettingsValidators.java | 4 ++++ .../test/src/android/provider/SettingsBackupTest.java | 3 ++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 796cf87541fe9..0c49b3f6e4121 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -16757,6 +16757,13 @@ public final class Settings { * @hide */ public static final int BATTERY_SAVER_MODE_CUSTOM = 4; + + /** + * The maximum ambient mode duration when an activity is allowed to auto resume. + * @hide + */ + public static final String WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS = + "wear_activity_auto_resume_timeout_ms"; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 409b0a9aa3814..692d24acd9ddd 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -20,6 +20,7 @@ import static android.media.AudioFormat.SURROUND_SOUND_ENCODING; import static android.provider.settings.validators.SettingsValidators.ANY_INTEGER_VALIDATOR; import static android.provider.settings.validators.SettingsValidators.ANY_STRING_VALIDATOR; import static android.provider.settings.validators.SettingsValidators.BOOLEAN_VALIDATOR; +import static android.provider.settings.validators.SettingsValidators.NON_NEGATIVE_INTEGER_VALIDATOR; import static android.provider.settings.validators.SettingsValidators.PACKAGE_NAME_VALIDATOR; import static android.provider.settings.validators.SettingsValidators.PERCENTAGE_INTEGER_VALIDATOR; import static android.view.Display.HdrCapabilities.HDR_TYPES; @@ -306,6 +307,9 @@ public class GlobalSettingsValidators { String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TIME_ONLY), String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_CUSTOM) })); + VALIDATORS.put( + Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, + NON_NEGATIVE_INTEGER_VALIDATOR); } } diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index f78d3b4c2c01a..90bb7f9c7f75c 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -656,7 +656,8 @@ public class SettingsBackupTest { Settings.Global.Wearable.SETUP_LOCALE, Settings.Global.Wearable.OEM_SETUP_VERSION, Settings.Global.Wearable.MASTER_GESTURES_ENABLED, - Settings.Global.Wearable.UNGAZE_ENABLED); + Settings.Global.Wearable.UNGAZE_ENABLED, + Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet( From d7935a531f4cc5823f773e6a64862aca313482c0 Mon Sep 17 00:00:00 2001 From: Josh Yang Date: Mon, 23 Nov 2020 19:52:22 -0800 Subject: [PATCH 3/6] Move KEY_BURN_IN_PROTECTION to Settings.Global Bug: 173802026 Test: manual test Change-Id: I33aa06c68e4327534a0d2cc7c13bae2596a5add4 (cherry picked from commit 0f2a065a5ea736ae649cb2641b80f27bc123d615) --- core/java/android/provider/Settings.java | 6 ++++++ .../validators/GlobalSettingsValidators.java | 1 + .../providers/settings/SettingsProvider.java | 14 ++++++++++++++ .../src/android/provider/SettingsBackupTest.java | 3 ++- 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 0c49b3f6e4121..66d14e511da9d 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -16764,6 +16764,12 @@ public final class Settings { */ public static final String WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS = "wear_activity_auto_resume_timeout_ms"; + + /** + * If burn in protection is enabled. + * @hide + */ + public static final String BURN_IN_PROTECTION_ENABLED = "burn_in_protection"; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 692d24acd9ddd..bc10093158689 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -310,6 +310,7 @@ public class GlobalSettingsValidators { VALIDATORS.put( Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, NON_NEGATIVE_INTEGER_VALIDATOR); + VALIDATORS.put(Global.Wearable.BURN_IN_PROTECTION_ENABLED, BOOLEAN_VALIDATOR); } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 9e7daf49eaaba..cd05993da326e 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -5380,6 +5380,20 @@ public class SettingsProvider extends ContentProvider { initGlobalSettingsDefaultValForWearLocked( Settings.Global.Wearable.COMPANION_OS_VERSION, Settings.Global.Wearable.COMPANION_OS_VERSION_UNDEFINED); + final boolean defaultBurnInProtectionEnabled = + getContext() + .getResources() + .getBoolean( + com.android + .internal + .R + .bool + .config_enableBurnInProtection); + final boolean forceBurnInProtection = + SystemProperties.getBoolean("persist.debug.force_burn_in", false); + initGlobalSettingsDefaultValForWearLocked( + Settings.Global.Wearable.BURN_IN_PROTECTION_ENABLED, + defaultBurnInProtectionEnabled || forceBurnInProtection); // TODO(b/164398026): add necessary initialization logic for all entries. currentVersion = 204; diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 90bb7f9c7f75c..f747cc1c007d8 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -657,7 +657,8 @@ public class SettingsBackupTest { Settings.Global.Wearable.OEM_SETUP_VERSION, Settings.Global.Wearable.MASTER_GESTURES_ENABLED, Settings.Global.Wearable.UNGAZE_ENABLED, - Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS); + Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, + Settings.Global.Wearable.BURN_IN_PROTECTION_ENABLED); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet( From 95b8d682d3654a2f3ed4fb217a4617c7d8a92b43 Mon Sep 17 00:00:00 2001 From: Harshad Dhabu Date: Thu, 13 May 2021 18:14:53 +0000 Subject: [PATCH 4/6] Add new key to System Content Provider for combined location Bug: 185927316 Test: tests run as part of topic thru the other CL; no extra tests for this change alone. Change-Id: I76e21b2f3731f4e556713ad86bc7bd29e467c583 Change-Id: I0bc606e9cf438705166f76872495f2e84dee55d3 (cherry picked from commit 0e20158cf7651d298af879209f81bfae115c253d) --- core/java/android/provider/Settings.java | 6 ++++++ .../settings/validators/GlobalSettingsValidators.java | 1 + 2 files changed, 7 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 66d14e511da9d..4a950b84b1ac9 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -16770,6 +16770,12 @@ public final class Settings { * @hide */ public static final String BURN_IN_PROTECTION_ENABLED = "burn_in_protection"; + + /** + * Whether the device has combined location setting enabled. + * @hide + */ + public static final String COMBINED_LOCATION_ENABLED = "combined_location_enable"; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index bc10093158689..9ad8b56bd5ec9 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -311,6 +311,7 @@ public class GlobalSettingsValidators { Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, NON_NEGATIVE_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.BURN_IN_PROTECTION_ENABLED, BOOLEAN_VALIDATOR); + VALIDATORS.put(Global.Wearable.COMBINED_LOCATION_ENABLED, BOOLEAN_VALIDATOR); } } From aa5d3331948c48763649f8b8b33d5911ad37da51 Mon Sep 17 00:00:00 2001 From: Josh Yang Date: Wed, 16 Dec 2020 17:34:05 -0800 Subject: [PATCH 5/6] Rename PLAY_STORE_AVAILABILITY with PHONE_PLAY_STORE_AVAILABILITY. Bug: 175820762 Test: manual test and unit test Change-Id: I5a7bb8ba50a14e7589e8cf771545aeaf4ee9362e (cherry picked from commit e8aa4baedfaa447da9f9211b07e495759b05216b) --- core/java/android/provider/Settings.java | 13 +++++++------ .../validators/GlobalSettingsValidators.java | 8 ++++---- .../providers/settings/SettingsProvider.java | 4 ++-- .../src/android/provider/SettingsBackupTest.java | 2 +- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 4a950b84b1ac9..f96da25b5a6dc 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -16307,18 +16307,19 @@ public final class Settings { public static final int RETAIL_MODE_RETAIL = 1; /** - * The play store availability. + * The play store availability on companion phone. * @hide */ - public static final String PLAY_STORE_AVAILABILITY = "play_store_availability"; + public static final String PHONE_PLAY_STORE_AVAILABILITY = + "phone_play_store_availability"; - // Possible play store availability states + // Possible phone play store availability states /** @hide */ - public static final int PLAY_STORE_AVAILABILITY_UNKNOWN = 0; + public static final int PHONE_PLAY_STORE_AVAILABILITY_UNKNOWN = 0; /** @hide */ - public static final int PLAY_STORE_AVAILABLE = 1; + public static final int PHONE_PLAY_STORE_AVAILABLE = 1; /** @hide */ - public static final int PLAY_STORE_UNAVAILABLE = 2; + public static final int PHONE_PLAY_STORE_UNAVAILABLE = 2; /** * Whether the bug report is enabled. diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 9ad8b56bd5ec9..9ac90f12bc7e6 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -160,12 +160,12 @@ public class GlobalSettingsValidators { String.valueOf(Global.Wearable.RETAIL_MODE_RETAIL) })); VALIDATORS.put( - Global.Wearable.PLAY_STORE_AVAILABILITY, + Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY, new DiscreteValueValidator( new String[] { - String.valueOf(Global.Wearable.PLAY_STORE_AVAILABLE), - String.valueOf(Global.Wearable.PLAY_STORE_UNAVAILABLE), - String.valueOf(Global.Wearable.PLAY_STORE_AVAILABILITY_UNKNOWN) + String.valueOf(Global.Wearable.PHONE_PLAY_STORE_AVAILABLE), + String.valueOf(Global.Wearable.PHONE_PLAY_STORE_UNAVAILABLE), + String.valueOf(Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY_UNKNOWN) })); VALIDATORS.put( Global.Wearable.BUG_REPORT, diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index cd05993da326e..294399e754dfd 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -5215,8 +5215,8 @@ public class SettingsProvider extends ContentProvider { initGlobalSettingsDefaultValForWearLocked( Global.Wearable.RETAIL_MODE, Global.Wearable.RETAIL_MODE_CONSUMER); initGlobalSettingsDefaultValForWearLocked( - Global.Wearable.PLAY_STORE_AVAILABILITY, - Global.Wearable.PLAY_STORE_AVAILABILITY_UNKNOWN); + Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY, + Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY_UNKNOWN); initGlobalSettingsDefaultValForWearLocked( Global.Wearable.BUG_REPORT, "user".equals(Build.TYPE) // is user build? diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index f747cc1c007d8..1e916ffa5f20a 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -599,7 +599,7 @@ public class SettingsBackupTest { Settings.Global.Wearable.DEFAULT_VIBRATION, Settings.Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION, Settings.Global.Wearable.RETAIL_MODE, - Settings.Global.Wearable.PLAY_STORE_AVAILABILITY, + Settings.Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY, Settings.Global.Wearable.BUG_REPORT, Settings.Global.Wearable.SMART_ILLUMINATE_ENABLED, Settings.Global.Wearable.CLOCKWORK_AUTO_TIME, From 9750a9d61c02322ee1d116828d5c40ebf08be8fa Mon Sep 17 00:00:00 2001 From: Yeabkal Assegid Wubshit Date: Fri, 23 Jul 2021 21:09:40 +0000 Subject: [PATCH 6/6] Add battery-saver and combined-location Setting keys to backup test Change-Id: I36f57741f79309774afcfd8c7275fa7ba4e74dac --- .../test/src/android/provider/SettingsBackupTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 1e916ffa5f20a..75aba391416f1 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -592,6 +592,8 @@ public class SettingsBackupTest { Settings.Global.CACHED_APPS_FREEZER_ENABLED, Settings.Global.APP_INTEGRITY_VERIFICATION_TIMEOUT, Settings.Global.KEY_CHORD_POWER_VOLUME_UP, + Settings.Global.Wearable.BATTERY_SAVER_MODE, + Settings.Global.Wearable.COMBINED_LOCATION_ENABLED, Settings.Global.Wearable.HAS_PAY_TOKENS, Settings.Global.Wearable.GMS_CHECKIN_TIMEOUT_MIN, Settings.Global.Wearable.HOTWORD_DETECTION_ENABLED,