summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Silva <lusilva@google.com> 2025-01-27 10:13:29 -0500
committer Lucas Silva <lusilva@google.com> 2025-01-27 10:13:29 -0500
commit68fcf43c55fbae84838902d14984f4961ae9c42c (patch)
tree467e49599ef89d4839ebd4444d24eda2c29f43b4
parent53d05392162a5b352d3698f356d87f732f6c0d53 (diff)
Default dream trigger to postured
The current default is that dreams are enabled by default but only enabled "while docked". On devices that support posturing, we will switch the default to be "while postured" and disable the main dream toggle to maintain existing behavior of the dream not being enabled. If the user has switched their setting to "while charging", no changes will be made. Bug: 383208131 Test: flashed change with wiping device and without wiping device, to ensure the upgrade works correctly in both scenarios. Flag: EXEMPT settings database upgrade Change-Id: Idba32d9a83b163ae0a3d156c12849c584290c63e
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java47
1 files changed, 46 insertions, 1 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index c47bf628002d..7c588b3834a5 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -4072,7 +4072,7 @@ public class SettingsProvider extends ContentProvider {
@VisibleForTesting
final class UpgradeController {
- private static final int SETTINGS_VERSION = 226;
+ private static final int SETTINGS_VERSION = 227;
private final int mUserId;
@@ -6266,6 +6266,51 @@ public class SettingsProvider extends ContentProvider {
currentVersion = 226;
}
+ // Version 226: Introduces dreaming while postured setting and migrates user from
+ // docked dream trigger to postured dream trigger.
+ if (currentVersion == 226) {
+ final SettingsState secureSettings = getSecureSettingsLocked(userId);
+ final Setting dreamOnDock = secureSettings.getSettingLocked(
+ Secure.SCREENSAVER_ACTIVATE_ON_DOCK);
+ final Setting dreamsEnabled = secureSettings.getSettingLocked(
+ Secure.SCREENSAVER_ENABLED);
+ final boolean dreamOnPosturedDefault = getContext().getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault);
+ final boolean dreamsEnabledByDefault = getContext().getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsEnabledByDefault);
+
+ if (dreamOnPosturedDefault && !dreamOnDock.isNull()
+ && dreamOnDock.getValue().equals("1")) {
+ // Disable dock activation and enable postured.
+ secureSettings.insertSettingOverrideableByRestoreLocked(
+ Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
+ "0",
+ null,
+ true,
+ SettingsState.SYSTEM_PACKAGE_NAME);
+ secureSettings.insertSettingOverrideableByRestoreLocked(
+ Secure.SCREENSAVER_ACTIVATE_ON_POSTURED,
+ "1",
+ null,
+ true,
+ SettingsState.SYSTEM_PACKAGE_NAME);
+
+ // Disable dreams overall, so user doesn't start to unexpectedly see dreams
+ // enabled when postured.
+ if (!dreamsEnabledByDefault && !dreamsEnabled.isNull()
+ && dreamsEnabled.getValue().equals("1")) {
+ secureSettings.insertSettingOverrideableByRestoreLocked(
+ Secure.SCREENSAVER_ENABLED,
+ "0",
+ null,
+ true,
+ SettingsState.SYSTEM_PACKAGE_NAME);
+ }
+ }
+
+ currentVersion = 227;
+ }
+
// vXXX: Add new settings above this point.
if (currentVersion != newVersion) {