From ed108f3d125b0a4cc465057e3514caf781cdea19 Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Thu, 18 Oct 2012 16:49:24 -0400 Subject: [PATCH] Frameworks base: Promote dream setting defaults to config. So that: - the values can be shared (to fix assoc bug) - the values can be customized in product overlays Bug:7373284 Change-Id: I37f037082523a3d975f6014f36afa28c60117372 --- core/java/android/service/dreams/Sandman.java | 13 +++++----- core/res/res/values/config.xml | 12 +++++++-- core/res/res/values/symbols.xml | 6 ++++- .../SettingsProvider/res/values/defaults.xml | 10 ------- .../providers/settings/DatabaseHelper.java | 22 ++++++++-------- .../java/com/android/server/SystemServer.java | 2 +- .../server/power/PowerManagerService.java | 26 ++++++++++++++++--- 7 files changed, 56 insertions(+), 35 deletions(-) diff --git a/core/java/android/service/dreams/Sandman.java b/core/java/android/service/dreams/Sandman.java index 70142cea3af55..5f5b07953156c 100644 --- a/core/java/android/service/dreams/Sandman.java +++ b/core/java/android/service/dreams/Sandman.java @@ -36,9 +36,6 @@ import android.util.Slog; public final class Sandman { private static final String TAG = "Sandman"; - private static final int DEFAULT_SCREENSAVER_ENABLED = 1; - private static final int DEFAULT_SCREENSAVER_ACTIVATED_ON_DOCK = 1; - // The component name of a special dock app that merely launches a dream. // We don't want to launch this app when docked because it causes an unnecessary // activity transition. We just want to start the dream. @@ -109,14 +106,18 @@ public final class Sandman { } private static boolean isScreenSaverEnabled(Context context) { + int def = context.getResources().getBoolean( + com.android.internal.R.bool.config_dreamsEnabledByDefault) ? 1 : 0; return Settings.Secure.getIntForUser(context.getContentResolver(), - Settings.Secure.SCREENSAVER_ENABLED, DEFAULT_SCREENSAVER_ENABLED, + Settings.Secure.SCREENSAVER_ENABLED, def, UserHandle.USER_CURRENT) != 0; } private static boolean isScreenSaverActivatedOnDock(Context context) { + int def = context.getResources().getBoolean( + com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault) ? 1 : 0; return Settings.Secure.getIntForUser(context.getContentResolver(), - Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, - DEFAULT_SCREENSAVER_ACTIVATED_ON_DOCK, UserHandle.USER_CURRENT) != 0; + Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, def, + UserHandle.USER_CURRENT) != 0; } } diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index afd847f3c921d..0890a182b8713 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -895,8 +895,16 @@ - - true + + true + + true + + true + + false + + com.google.android.deskclock/com.android.deskclock.Screensaver diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 7c0547e3e0a17..8ef91df1853bf 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1627,7 +1627,11 @@ - + + + + + diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index 9e137ce78395c..94e2286a3ce3e 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -165,16 +165,6 @@ Value here is the same as WifiStateMachine.DEFAULT_MAX_DHCP_RETRIES --> 9 - - - true - - true - - false - - com.google.android.deskclock/com.android.deskclock.Screensaver - false diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 06892687ed9f5..b649b435cecae 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -1166,15 +1166,15 @@ public class DatabaseHelper extends SQLiteOpenHelper { stmt = db.compileStatement("INSERT OR REPLACE INTO secure(name,value)" + " VALUES(?,?);"); loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ENABLED, - R.bool.def_screensaver_enabled); + com.android.internal.R.bool.config_dreamsEnabledByDefault); loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, - R.bool.def_screensaver_activate_on_dock); + com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault); loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP, - R.bool.def_screensaver_activate_on_sleep); - loadStringSetting(stmt, Settings.Secure.SCREENSAVER_DEFAULT_COMPONENT, - R.string.def_screensaver_component); + com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault); loadStringSetting(stmt, Settings.Secure.SCREENSAVER_COMPONENTS, - R.string.def_screensaver_component); + com.android.internal.R.string.config_dreamsDefaultComponent); + loadStringSetting(stmt, Settings.Secure.SCREENSAVER_DEFAULT_COMPONENT, + com.android.internal.R.string.config_dreamsDefaultComponent); db.setTransactionSuccessful(); } finally { @@ -2027,15 +2027,15 @@ public class DatabaseHelper extends SQLiteOpenHelper { } loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ENABLED, - R.bool.def_screensaver_enabled); + com.android.internal.R.bool.config_dreamsEnabledByDefault); loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, - R.bool.def_screensaver_activate_on_dock); + com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault); loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP, - R.bool.def_screensaver_activate_on_sleep); + com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault); loadStringSetting(stmt, Settings.Secure.SCREENSAVER_COMPONENTS, - R.string.def_screensaver_component); + com.android.internal.R.string.config_dreamsDefaultComponent); loadStringSetting(stmt, Settings.Secure.SCREENSAVER_DEFAULT_COMPONENT, - R.string.def_screensaver_component); + com.android.internal.R.string.config_dreamsDefaultComponent); loadBooleanSetting(stmt, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, R.bool.def_accessibility_display_magnification_enabled); diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index eaaf33f61a29e..e46afd3260840 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -737,7 +737,7 @@ class ServerThread extends Thread { } if (context.getResources().getBoolean( - com.android.internal.R.bool.config_enableDreams)) { + com.android.internal.R.bool.config_dreamsSupported)) { try { Slog.i(TAG, "Dreams Service"); // Dreams (interactive idle-time views, a/k/a screen savers) diff --git a/services/java/com/android/server/power/PowerManagerService.java b/services/java/com/android/server/power/PowerManagerService.java index b94bceb4ca774..bf81a9003ff66 100644 --- a/services/java/com/android/server/power/PowerManagerService.java +++ b/services/java/com/android/server/power/PowerManagerService.java @@ -280,6 +280,15 @@ public final class PowerManagerService extends IPowerManager.Stub // True if dreams are supported on this device. private boolean mDreamsSupportedConfig; + // Default value for dreams enabled + private boolean mDreamsEnabledByDefaultConfig; + + // Default value for dreams activate-on-sleep + private boolean mDreamsActivatedOnSleepByDefaultConfig; + + // Default value for dreams activate-on-dock + private boolean mDreamsActivatedOnDockByDefaultConfig; + // True if dreams are enabled by the user. private boolean mDreamsEnabledSetting; @@ -490,20 +499,29 @@ public final class PowerManagerService extends IPowerManager.Stub mWakeUpWhenPluggedOrUnpluggedConfig = resources.getBoolean( com.android.internal.R.bool.config_unplugTurnsOnScreen); mDreamsSupportedConfig = resources.getBoolean( - com.android.internal.R.bool.config_enableDreams); + com.android.internal.R.bool.config_dreamsSupported); + mDreamsEnabledByDefaultConfig = resources.getBoolean( + com.android.internal.R.bool.config_dreamsEnabledByDefault); + mDreamsActivatedOnSleepByDefaultConfig = resources.getBoolean( + com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault); + mDreamsActivatedOnDockByDefaultConfig = resources.getBoolean( + com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault); } private void updateSettingsLocked() { final ContentResolver resolver = mContext.getContentResolver(); mDreamsEnabledSetting = (Settings.Secure.getIntForUser(resolver, - Settings.Secure.SCREENSAVER_ENABLED, 0, + Settings.Secure.SCREENSAVER_ENABLED, + mDreamsEnabledByDefaultConfig ? 1 : 0, UserHandle.USER_CURRENT) != 0); mDreamsActivateOnSleepSetting = (Settings.Secure.getIntForUser(resolver, - Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP, 0, + Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP, + mDreamsActivatedOnSleepByDefaultConfig ? 1 : 0, UserHandle.USER_CURRENT) != 0); mDreamsActivateOnDockSetting = (Settings.Secure.getIntForUser(resolver, - Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, 0, + Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, + mDreamsActivatedOnDockByDefaultConfig ? 1 : 0, UserHandle.USER_CURRENT) != 0); mScreenOffTimeoutSetting = Settings.System.getIntForUser(resolver, Settings.System.SCREEN_OFF_TIMEOUT, DEFAULT_SCREEN_OFF_TIMEOUT,