diff options
| author | 2025-01-27 10:13:29 -0500 | |
|---|---|---|
| committer | 2025-01-27 10:13:29 -0500 | |
| commit | 68fcf43c55fbae84838902d14984f4961ae9c42c (patch) | |
| tree | 467e49599ef89d4839ebd4444d24eda2c29f43b4 | |
| parent | 53d05392162a5b352d3698f356d87f732f6c0d53 (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.java | 47 |
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) { |