From 5577bbed9c9d2af9f9985890eb351889df0a4076 Mon Sep 17 00:00:00 2001 From: Bagus Maulana Date: Tue, 5 Apr 2022 02:08:18 +0100 Subject: [PATCH] Add Wear settings to the SETTINGS_TO_BACKUP list. Wear OS (and the com.google.android.apps.wearable.settings app) adds Settings not in base Android. As Wear OS does not currently support backup, these settings are not currently included in the SETTINGS_TO_BACKUP list. This allow specific Wear settings to be backed up and restored in a prototype build with CLOCKWORK_ENABLE_BACKUP := true. The specific Wear settings added here are based on findings I reported in a Google-internal spreadsheet (contact me for access). Bug: 228159084 Test: Flashed a prototype build with these changes to a test watch. Change-Id: I9d9bf108b31ad4f58846ecb6c975721d9588e5e1 (cherry picked from commit 135dd5ecafa8cd5a3ba00e074d0b7390c4723099) (cherry picked from commit 41a37d1840922f2c1dc83f8684c5f6f06a39b12a) --- .../settings/backup/GlobalSettings.java | 13 ++++++++++++- .../settings/backup/SecureSettings.java | 3 ++- .../settings/backup/SystemSettings.java | 1 + .../validators/SystemSettingsValidators.java | 1 + .../android/provider/SettingsBackupTest.java | 18 +++--------------- 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/GlobalSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/GlobalSettings.java index dc166b4c23495..428a65534f48c 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/GlobalSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/GlobalSettings.java @@ -82,6 +82,17 @@ public class GlobalSettings { Settings.Global.USER_PREFERRED_REFRESH_RATE, Settings.Global.USER_PREFERRED_RESOLUTION_HEIGHT, Settings.Global.USER_PREFERRED_RESOLUTION_WIDTH, - Settings.Global.POWER_BUTTON_LONG_PRESS + Settings.Global.POWER_BUTTON_LONG_PRESS, + Settings.Global.Wearable.SMART_REPLIES_ENABLED, + Settings.Global.Wearable.CLOCKWORK_AUTO_TIME, + Settings.Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE, + Settings.Global.Wearable.CLOCKWORK_24HR_TIME, + Settings.Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED, + Settings.Global.Wearable.AMBIENT_ENABLED, + Settings.Global.Wearable.AMBIENT_TILT_TO_WAKE, + Settings.Global.Wearable.AMBIENT_TOUCH_TO_WAKE, + Settings.Global.Wearable.TOUCH_AND_HOLD_WATCH_FACE, + Settings.Global.Wearable.BATTERY_SAVER_MODE, + Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS }; } diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java index f949f99673d91..0e8c3083e9772 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -198,6 +198,7 @@ public class SecureSettings { Settings.Secure.LOCKSCREEN_SHOW_WALLET, Settings.Secure.LOCK_SCREEN_SHOW_QR_CODE_SCANNER, Settings.Secure.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK, - Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON + Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON, + Settings.Secure.WEAR_TALKBACK_ENABLED }; } diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SystemSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SystemSettings.java index a6bfc408be7e6..e1fb4bb2c58fc 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SystemSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SystemSettings.java @@ -89,5 +89,6 @@ public class SystemSettings { Settings.System.DISPLAY_COLOR_MODE, Settings.System.ALARM_ALERT, Settings.System.NOTIFICATION_LIGHT_PULSE, + Settings.System.WEAR_ACCESSIBILITY_GESTURE_ENABLED }; } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java index 06712cc68b892..c749af5f53de5 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java @@ -207,5 +207,6 @@ public class SystemSettingsValidators { VALIDATORS.put(System.WIFI_STATIC_DNS2, LENIENT_IP_ADDRESS_VALIDATOR); VALIDATORS.put(System.SHOW_BATTERY_PERCENT, BOOLEAN_VALIDATOR); VALIDATORS.put(System.NOTIFICATION_LIGHT_PULSE, BOOLEAN_VALIDATOR); + VALIDATORS.put(System.WEAR_ACCESSIBILITY_GESTURE_ENABLED, BOOLEAN_VALIDATOR); } } diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 0371dccaf55a2..791930db73192 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -102,8 +102,7 @@ public class SettingsBackupTest { Settings.System.PEAK_REFRESH_RATE, // depends on hardware capabilities Settings.System.SCREEN_BRIGHTNESS_FLOAT, Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, - Settings.System.MULTI_AUDIO_FOCUS_ENABLED, // form-factor/OEM specific - Settings.System.WEAR_ACCESSIBILITY_GESTURE_ENABLED + Settings.System.MULTI_AUDIO_FOCUS_ENABLED // form-factor/OEM specific ); private static final Set BACKUP_DENY_LIST_GLOBAL_SETTINGS = @@ -598,21 +597,16 @@ public class SettingsBackupTest { Settings.Global.CLOCKWORK_HOME_READY, Settings.Global.WATCHDOG_TIMEOUT_MILLIS, Settings.Global.MANAGED_PROVISIONING_DEFER_PROVISIONING_TO_ROLE_HOLDER, - 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, - Settings.Global.Wearable.SMART_REPLIES_ENABLED, Settings.Global.Wearable.DEFAULT_VIBRATION, Settings.Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION, Settings.Global.Wearable.RETAIL_MODE, Settings.Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY, Settings.Global.Wearable.BUG_REPORT, Settings.Global.Wearable.SMART_ILLUMINATE_ENABLED, - Settings.Global.Wearable.CLOCKWORK_AUTO_TIME, - Settings.Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE, - Settings.Global.Wearable.CLOCKWORK_24HR_TIME, Settings.Global.Wearable.AUTO_WIFI, Settings.Global.Wearable.WIFI_POWER_SAVE, Settings.Global.Wearable.ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS, @@ -627,7 +621,6 @@ public class SettingsBackupTest { Settings.Global.Wearable.STEM_3_TYPE, Settings.Global.Wearable.STEM_3_DATA, Settings.Global.Wearable.STEM_3_DEFAULT_DATA, - Settings.Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED, Settings.Global.Wearable.WEAR_OS_VERSION_STRING, Settings.Global.Wearable.CORNER_ROUNDNESS, Settings.Global.Wearable.BUTTON_SET, @@ -637,10 +630,7 @@ public class SettingsBackupTest { Settings.Global.Wearable.SYSTEM_EDITION, Settings.Global.Wearable.WEAR_PLATFORM_MR_NUMBER, Settings.Global.Wearable.MOBILE_SIGNAL_DETECTOR, - Settings.Global.Wearable.AMBIENT_ENABLED, - Settings.Global.Wearable.AMBIENT_TILT_TO_WAKE, Settings.Global.Wearable.AMBIENT_LOW_BIT_ENABLED_DEV, - Settings.Global.Wearable.AMBIENT_TOUCH_TO_WAKE, Settings.Global.Wearable.AMBIENT_TILT_TO_BRIGHT, Settings.Global.Wearable.DECOMPOSABLE_WATCHFACE, Settings.Global.Wearable.AMBIENT_FORCE_WHEN_DOCKED, @@ -656,7 +646,6 @@ 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.BURN_IN_PROTECTION_ENABLED, Settings.Global.Wearable.WRIST_ORIENTATION_MODE, Settings.Global.Wearable.CLOCKWORK_SYSUI_PACKAGE, @@ -665,9 +654,8 @@ public class SettingsBackupTest { Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_SET_BY_USER, Settings.Global.Wearable.WET_MODE_ON, Settings.Global.Wearable.COOLDOWN_MODE_ON, - Settings.Global.Wearable.TOUCH_AND_HOLD_WATCH_FACE, - Settings.Global.Wearable.SCREEN_UNLOCK_SOUND_ENABLED, - Settings.Global.Wearable.CHARGING_SOUNDS_ENABLED); + Settings.Global.Wearable.CHARGING_SOUNDS_ENABLED, + Settings.Global.Wearable.SCREEN_UNLOCK_SOUND_ENABLED); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet(