Add new Wear setting for Lockscreen
Bug: 263132631
Test: Tested Locally
Change-Id: Ia7024aed24115384da7777b74a5bdc26551b666b
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index ff57003..3902a15 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -18197,6 +18197,37 @@
public static final String WRIST_ORIENTATION_MODE = "wear_wrist_orientation_mode";
/**
+ * Current lock screen state of the device
+ * (null = default value of this setting (lockscreen is never set),
+ * 0 = {@link #LOCK_SCREEN_STATE_NONE},
+ * 1 = {@link #LOCK_SCREEN_STATE_PIN},
+ * 2 = {@link #LOCK_SCREEN_STATE_PATTERN})
+ * @hide
+ */
+ public static final String LOCK_SCREEN_STATE = "lock_screen_state";
+
+ /**
+ * No lock screen set
+ * One of the possible states for {@link #LOCK_SCREEN_STATE}.
+ * @hide
+ */
+ public static final int LOCK_SCREEN_STATE_NONE = 0;
+
+ /**
+ * Lock screen set as a pin
+ * One of the possible states for {@link #LOCK_SCREEN_STATE}.
+ * @hide
+ */
+ public static final int LOCK_SCREEN_STATE_PIN = 1;
+
+ /**
+ * Lock screen set as a pattern
+ * One of the possible states for {@link #LOCK_SCREEN_STATE}.
+ * @hide
+ */
+ public static final int LOCK_SCREEN_STATE_PATTERN = 2;
+
+ /**
* Setting indicating the name of the Wear OS app package containing the device's sysui.
*
* @hide
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
index 7b8ca4d..673a3ab 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
@@ -281,6 +281,14 @@
VALIDATORS.put(Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR);
VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_BRIGHT, BOOLEAN_VALIDATOR);
VALIDATORS.put(
+ Global.Wearable.LOCK_SCREEN_STATE,
+ new DiscreteValueValidator(
+ new String[] {
+ String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_NONE),
+ String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PIN),
+ String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PATTERN)
+ }));
+ VALIDATORS.put(
Global.Wearable.PAIRED_DEVICE_OS_TYPE,
new DiscreteValueValidator(
new String[] {
diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
index 01740319..3782ce4 100644
--- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
+++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
@@ -659,7 +659,8 @@
Settings.Global.Wearable.BEDTIME_MODE,
Settings.Global.Wearable.BEDTIME_HARD_MODE,
Settings.Global.Wearable.EARLY_UPDATES_STATUS,
- Settings.Global.Wearable.RSB_WAKE_ENABLED);
+ Settings.Global.Wearable.RSB_WAKE_ENABLED,
+ Settings.Global.Wearable.LOCK_SCREEN_STATE);
private static final Set<String> BACKUP_DENY_LIST_SECURE_SETTINGS =
newHashSet(