From cb3cbae9fb1b8eddbd00ffdc2bee4ab7d256f825 Mon Sep 17 00:00:00 2001 From: Nitin Sangar Date: Tue, 10 Jan 2023 14:59:15 +0000 Subject: [PATCH] [DO NOT MERGE] Add vibration watch settings to settings provider Bug: 261736788 Bug: 265483795 Defer-CP-To-Master: 265483795 Test: Tested locally Change-Id: I24ab888eb9671bbc4378ba50d19b2f22c78b627e (cherry picked from commit 4b39c7332dd554e88a48e1bf559997af7c1e6c4a) --- core/java/android/provider/Settings.java | 85 +++++++++++++++++++ .../validators/GlobalSettingsValidators.java | 13 +++ .../android/provider/SettingsBackupTest.java | 5 +- 3 files changed, 102 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index cf685720d2411..493a48865f07c 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -18443,6 +18443,91 @@ public final class Settings { * @hide */ public static final String DYNAMIC_COLOR_THEME_ENABLED = "dynamic_color_theme_enabled"; + + /** + * Current state of accessibility vibration watch feature + * (0 = false, 1 = true) + * + * @hide + */ + public static final String ACCESSIBILITY_VIBRATION_WATCH_ENABLED = + "a11y_vibration_watch_enabled"; + + /** + * Stores current type of accessibility vibration + * (0 = {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT}, + * 1 = {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE) + * + * @hide + */ + public static final String ACCESSIBILITY_VIBRATION_WATCH_TYPE = + "a11y_vibration_watch_type"; + + /** + * Vibration watch type digit + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT = 0; + + /** + * Vibration watch type terse + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE = 1; + + /** + * Stores current accessibility vibration watch speed + * (0 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW}, + * 1 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW}, + * 2 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM}, + * 3 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST}, + * 4 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST}) + */ + public static final String ACCESSIBILITY_VIBRATION_WATCH_SPEED = "vibration_speed"; + + /** + * Vibration watch speed type very slow + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW = 0; + + /** + * Vibration watch speed type slow + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW = 1; + + /** + * Vibration watch speed type medium + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM = 2; + + /** + * Vibration watch speed type fast + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST = 3; + + /** + * Vibration watch speed type very fast + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST = 4; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 3ffbabd96796c..8de0f0dcc013e 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -296,6 +296,19 @@ public class GlobalSettingsValidators { String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PIN), String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PATTERN) })); + VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_ENABLED, BOOLEAN_VALIDATOR); + VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE, + new DiscreteValueValidator(new String[]{ + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE)})); + VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED, + new DiscreteValueValidator(new String[]{String.valueOf( + Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST), + String.valueOf( + Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST)})); VALIDATORS.put( Global.Wearable.PAIRED_DEVICE_OS_TYPE, new DiscreteValueValidator( diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 222aaa3c0c5a7..42f23711969e6 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -663,7 +663,10 @@ public class SettingsBackupTest { Settings.Global.Wearable.BEDTIME_HARD_MODE, Settings.Global.Wearable.EARLY_UPDATES_STATUS, Settings.Global.Wearable.RSB_WAKE_ENABLED, - Settings.Global.Wearable.LOCK_SCREEN_STATE); + Settings.Global.Wearable.LOCK_SCREEN_STATE, + Settings.Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_ENABLED, + Settings.Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE, + Settings.Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet(