diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index d56be13589be8..55da0705ae82e 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -16512,6 +16512,67 @@ public final class Settings {
* @hide
*/
public static final String MOBILE_SIGNAL_DETECTOR = "mobile_signal_detector";
+
+
+ /**
+ * Whether ambient is currently enabled.
+ * @hide
+ */
+ public static final String AMBIENT_ENABLED = "ambient_enabled";
+
+ /**
+ * Whether ambient tilt to wake is enabled.
+ * @hide
+ */
+ public static final String AMBIENT_TILT_TO_WAKE = "ambient_tilt_to_wake";
+
+ /**
+ * Whether ambient low bit mode is enabled by developer options.
+ * @hide
+ */
+ public static final String AMBIENT_LOW_BIT_ENABLED_DEV = "ambient_low_bit_enabled_dev";
+
+ /**
+ * Whether ambient touch to wake is enabled.
+ * @hide
+ */
+ public static final String AMBIENT_TOUCH_TO_WAKE = "ambient_touch_to_wake";
+
+ /**
+ * Whether ambient tilt to bright is enabled.
+ * @hide
+ */
+ public static final String AMBIENT_TILT_TO_BRIGHT = "ambient_tilt_to_bright";
+
+ /**
+ * Whether the current watchface is decomposable.
+ * @hide
+ */
+ public static final String DECOMPOSABLE_WATCHFACE = "current_watchface_decomposable";
+
+ /**
+ * Whether to force ambient when docked.
+ * @hide
+ */
+ public static final String AMBIENT_FORCE_WHEN_DOCKED = "ambient_force_when_docked";
+
+ /**
+ * The id of the gesture sensor.
+ * @hide
+ */
+ public static final String AMBIENT_GESTURE_SENSOR_ID = "ambient_gesture_sensor_id";
+
+ /**
+ * Whether the ambient low bit mode is enabled.
+ * @hide
+ */
+ public static final String AMBIENT_LOW_BIT_ENABLED = "ambient_low_bit_enabled";
+
+ /**
+ * The timeout duration in minutes of ambient mode when plugged in.
+ * @hide
+ */
+ public static final String AMBIENT_PLUGGED_TIMEOUT_MIN = "ambient_plugged_timeout_min";
}
}
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 065fe81b855c0..a9bc3be44a29f 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -311,4 +311,16 @@
true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ false
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
index 9f10734d573ef..d062db6c09f96 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
@@ -255,6 +255,16 @@ public class GlobalSettingsValidators {
String.valueOf(Global.Wearable.DISPLAY_SHAPE_SQUARE)
}));
VALIDATORS.put(Global.Wearable.MOBILE_SIGNAL_DETECTOR, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_ENABLED, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_WAKE, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED_DEV, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_TOUCH_TO_WAKE, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.DECOMPOSABLE_WATCHFACE, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_FORCE_WHEN_DOCKED, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_GESTURE_SENSOR_ID, ANY_INTEGER_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR);
+ VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_BRIGHT, 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 b03d6676342d2..1f7f58261783d 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -5317,6 +5317,42 @@ public class SettingsProvider extends ContentProvider {
.getResources()
.getBoolean(
R.bool.def_wearable_mobileSignalDetectorAllowed));
+ initGlobalSettingsDefaultValForWearLocked(
+ Global.Wearable.AMBIENT_ENABLED,
+ getContext()
+ .getResources()
+ .getBoolean(R.bool.def_wearable_ambientEnabled));
+ initGlobalSettingsDefaultValForWearLocked(
+ Global.Wearable.AMBIENT_TILT_TO_WAKE,
+ getContext()
+ .getResources()
+ .getBoolean(R.bool.def_wearable_tiltToWakeEnabled));
+ initGlobalSettingsDefaultValForWearLocked(
+ Global.Wearable.AMBIENT_LOW_BIT_ENABLED_DEV, false);
+ initGlobalSettingsDefaultValForWearLocked(
+ Global.Wearable.AMBIENT_TOUCH_TO_WAKE,
+ getContext()
+ .getResources()
+ .getBoolean(R.bool.def_wearable_touchToWakeEnabled));
+ initGlobalSettingsDefaultValForWearLocked(
+ Global.Wearable.AMBIENT_TILT_TO_BRIGHT,
+ getContext()
+ .getResources()
+ .getBoolean(R.bool.def_wearable_tiltToBrightEnabled));
+ initGlobalSettingsDefaultValForWearLocked(
+ Global.Wearable.DECOMPOSABLE_WATCHFACE, false);
+ initGlobalSettingsDefaultValForWearLocked(
+ Settings.Global.Wearable.AMBIENT_FORCE_WHEN_DOCKED,
+ SystemProperties.getBoolean("ro.ambient.force_when_docked", false));
+ initGlobalSettingsDefaultValForWearLocked(
+ Settings.Global.Wearable.AMBIENT_GESTURE_SENSOR_ID,
+ SystemProperties.getInt("ro.ambient.gesture_sensor_id", 0));
+ initGlobalSettingsDefaultValForWearLocked(
+ Settings.Global.Wearable.AMBIENT_LOW_BIT_ENABLED,
+ SystemProperties.getBoolean("ro.ambient.low_bit_enabled", false));
+ initGlobalSettingsDefaultValForWearLocked(
+ Settings.Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN,
+ SystemProperties.getInt("ro.ambient.plugged_timeout_min", -1));
// 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 a6e0d007bf848..46e8d38591e20 100644
--- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
+++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
@@ -635,7 +635,17 @@ public class SettingsBackupTest {
Settings.Global.Wearable.DISPLAY_SHAPE,
Settings.Global.Wearable.BOTTOM_OFFSET,
Settings.Global.Wearable.SCREEN_BRIGHTNESS_LEVEL,
- Settings.Global.Wearable.MOBILE_SIGNAL_DETECTOR);
+ 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,
+ Settings.Global.Wearable.AMBIENT_GESTURE_SENSOR_ID,
+ Settings.Global.Wearable.AMBIENT_LOW_BIT_ENABLED,
+ Settings.Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN);
private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS =
newHashSet(