Loading core/java/android/provider/Settings.java +13 −8 Original line number Diff line number Diff line Loading @@ -4020,21 +4020,26 @@ public final class Settings { "setup_prepaid_detection_redir_host"; /** * The user's preferred "dream" (interactive screensaver) component. * Whether the screensaver is enabled. * @hide */ public static final String SCREENSAVER_ENABLED = "screensaver_enabled"; /** * The user's chosen screensaver component. * * This component will be launched by the PhoneWindowManager after the user's chosen idle * timeout (specified by {@link #DREAM_TIMEOUT}). * This component will be launched by the PhoneWindowManager after a timeout when not on * battery, or upon dock insertion (if SCREENSAVER_ACTIVATE_ON_DOCK is set to 1). * @hide */ public static final String DREAM_COMPONENT = "dream_component"; public static final String SCREENSAVER_COMPONENT = "screensaver_component"; /** * The delay before a "dream" is started (set to 0 to disable). * Whether the screensaver should be automatically launched when the device is inserted * into a (desk) dock. * @hide */ public static final String DREAM_TIMEOUT = "dream_timeout"; public static final String SCREENSAVER_ACTIVATE_ON_DOCK = "screensaver_activate_on_dock"; /** {@hide} */ public static final String NETSTATS_ENABLED = "netstats_enabled"; Loading packages/SystemUI/src/com/android/systemui/DreamsDockLauncher.java +7 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ public class DreamsDockLauncher extends Activity { private static void launchDream(Context context) { try { String component = Settings.Secure.getString( context.getContentResolver(), Settings.Secure.DREAM_COMPONENT); context.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT); if (component == null) { component = context.getResources().getString( com.android.internal.R.string.config_defaultDreamComponent); Loading Loading @@ -52,6 +52,12 @@ public class DreamsDockLauncher extends Activity { public static class DockEventReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final boolean activateOnDock = 0 != Settings.Secure.getInt( context.getContentResolver(), Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, 1); if (!activateOnDock) return; if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())) { Bundle extras = intent.getExtras(); int state = extras Loading policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +15 −9 Original line number Diff line number Diff line Loading @@ -400,7 +400,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { // visual screen saver support int mScreenSaverTimeout = 0; boolean mScreenSaverEnabled = true; boolean mScreenSaverEnabledByUser = false; boolean mScreenSaverMayRun = true; // false if a wakelock is held boolean mPluggedIn; // Behavior of ENDCALL Button. (See Settings.System.END_BUTTON_BEHAVIOR.) Loading Loading @@ -465,9 +466,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { Settings.Secure.DEFAULT_INPUT_METHOD), false, this); resolver.registerContentObserver(Settings.System.getUriFor( "fancy_rotation_anim"), false, this); resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.SCREENSAVER_ENABLED), false, this); if (SEPARATE_TIMEOUT_FOR_SCREEN_SAVER) { resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.DREAM_TIMEOUT), false, this); "screensaver_timeout"), false, this); } // otherwise SCREEN_OFF_TIMEOUT will do nicely updateSettings(); } Loading Loading @@ -933,9 +936,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { updateRotation = true; } mScreenSaverEnabledByUser = 0 != Settings.Secure.getInt(resolver, Settings.Secure.SCREENSAVER_ENABLED, 1); if (SEPARATE_TIMEOUT_FOR_SCREEN_SAVER) { mScreenSaverTimeout = Settings.Secure.getInt(resolver, Settings.Secure.DREAM_TIMEOUT, 0); "screensaver_timeout", 0); } else { mScreenSaverTimeout = Settings.System.getInt(resolver, Settings.System.SCREEN_OFF_TIMEOUT, 0); Loading Loading @@ -3451,7 +3457,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { Runnable mScreenSaverActivator = new Runnable() { public void run() { if (!(mScreenSaverEnabled && mScreenOnEarly)) { if (!(mScreenSaverMayRun && mScreenOnEarly)) { Log.w(TAG, "mScreenSaverActivator ran, but the screensaver should not be showing. Who's driving this thing?"); return; } Loading @@ -3464,7 +3470,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { try { String component = Settings.Secure.getString( mContext.getContentResolver(), Settings.Secure.DREAM_COMPONENT); mContext.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT); if (component == null) { component = mContext.getResources().getString(R.string.config_defaultDreamComponent); } Loading Loading @@ -3492,13 +3498,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mScreenSaverActivator == null) return; mHandler.removeCallbacks(mScreenSaverActivator); if (mScreenSaverEnabled && mScreenOnEarly && mScreenSaverTimeout > 0) { if (mScreenSaverEnabledByUser && mScreenSaverMayRun && mScreenOnEarly && mScreenSaverTimeout > 0) { if (localLOGV) Log.v(TAG, "scheduling screensaver for " + mScreenSaverTimeout + "ms from now"); mHandler.postDelayed(mScreenSaverActivator, mScreenSaverTimeout); } else { if (localLOGV) { if (mScreenSaverTimeout == 0) if (!mScreenSaverEnabledByUser || mScreenSaverTimeout == 0) Log.v(TAG, "screen saver disabled by user"); else if (!mScreenOnEarly) Log.v(TAG, "screen saver disabled while screen off"); Loading Loading @@ -3714,7 +3720,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // The window manager has just grabbed a wake lock. This is our cue to disable the screen // saver. synchronized (mLock) { mScreenSaverEnabled = false; mScreenSaverMayRun = false; } } Loading @@ -3728,7 +3734,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { synchronized (mLock) { // even if the keyguard is up, now that all the wakelocks have been released, we // should re-enable the screen saver mScreenSaverEnabled = true; mScreenSaverMayRun = true; updateScreenSaverTimeoutLocked(); } } Loading Loading
core/java/android/provider/Settings.java +13 −8 Original line number Diff line number Diff line Loading @@ -4020,21 +4020,26 @@ public final class Settings { "setup_prepaid_detection_redir_host"; /** * The user's preferred "dream" (interactive screensaver) component. * Whether the screensaver is enabled. * @hide */ public static final String SCREENSAVER_ENABLED = "screensaver_enabled"; /** * The user's chosen screensaver component. * * This component will be launched by the PhoneWindowManager after the user's chosen idle * timeout (specified by {@link #DREAM_TIMEOUT}). * This component will be launched by the PhoneWindowManager after a timeout when not on * battery, or upon dock insertion (if SCREENSAVER_ACTIVATE_ON_DOCK is set to 1). * @hide */ public static final String DREAM_COMPONENT = "dream_component"; public static final String SCREENSAVER_COMPONENT = "screensaver_component"; /** * The delay before a "dream" is started (set to 0 to disable). * Whether the screensaver should be automatically launched when the device is inserted * into a (desk) dock. * @hide */ public static final String DREAM_TIMEOUT = "dream_timeout"; public static final String SCREENSAVER_ACTIVATE_ON_DOCK = "screensaver_activate_on_dock"; /** {@hide} */ public static final String NETSTATS_ENABLED = "netstats_enabled"; Loading
packages/SystemUI/src/com/android/systemui/DreamsDockLauncher.java +7 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ public class DreamsDockLauncher extends Activity { private static void launchDream(Context context) { try { String component = Settings.Secure.getString( context.getContentResolver(), Settings.Secure.DREAM_COMPONENT); context.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT); if (component == null) { component = context.getResources().getString( com.android.internal.R.string.config_defaultDreamComponent); Loading Loading @@ -52,6 +52,12 @@ public class DreamsDockLauncher extends Activity { public static class DockEventReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final boolean activateOnDock = 0 != Settings.Secure.getInt( context.getContentResolver(), Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, 1); if (!activateOnDock) return; if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())) { Bundle extras = intent.getExtras(); int state = extras Loading
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +15 −9 Original line number Diff line number Diff line Loading @@ -400,7 +400,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { // visual screen saver support int mScreenSaverTimeout = 0; boolean mScreenSaverEnabled = true; boolean mScreenSaverEnabledByUser = false; boolean mScreenSaverMayRun = true; // false if a wakelock is held boolean mPluggedIn; // Behavior of ENDCALL Button. (See Settings.System.END_BUTTON_BEHAVIOR.) Loading Loading @@ -465,9 +466,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { Settings.Secure.DEFAULT_INPUT_METHOD), false, this); resolver.registerContentObserver(Settings.System.getUriFor( "fancy_rotation_anim"), false, this); resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.SCREENSAVER_ENABLED), false, this); if (SEPARATE_TIMEOUT_FOR_SCREEN_SAVER) { resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.DREAM_TIMEOUT), false, this); "screensaver_timeout"), false, this); } // otherwise SCREEN_OFF_TIMEOUT will do nicely updateSettings(); } Loading Loading @@ -933,9 +936,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { updateRotation = true; } mScreenSaverEnabledByUser = 0 != Settings.Secure.getInt(resolver, Settings.Secure.SCREENSAVER_ENABLED, 1); if (SEPARATE_TIMEOUT_FOR_SCREEN_SAVER) { mScreenSaverTimeout = Settings.Secure.getInt(resolver, Settings.Secure.DREAM_TIMEOUT, 0); "screensaver_timeout", 0); } else { mScreenSaverTimeout = Settings.System.getInt(resolver, Settings.System.SCREEN_OFF_TIMEOUT, 0); Loading Loading @@ -3451,7 +3457,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { Runnable mScreenSaverActivator = new Runnable() { public void run() { if (!(mScreenSaverEnabled && mScreenOnEarly)) { if (!(mScreenSaverMayRun && mScreenOnEarly)) { Log.w(TAG, "mScreenSaverActivator ran, but the screensaver should not be showing. Who's driving this thing?"); return; } Loading @@ -3464,7 +3470,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { try { String component = Settings.Secure.getString( mContext.getContentResolver(), Settings.Secure.DREAM_COMPONENT); mContext.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT); if (component == null) { component = mContext.getResources().getString(R.string.config_defaultDreamComponent); } Loading Loading @@ -3492,13 +3498,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mScreenSaverActivator == null) return; mHandler.removeCallbacks(mScreenSaverActivator); if (mScreenSaverEnabled && mScreenOnEarly && mScreenSaverTimeout > 0) { if (mScreenSaverEnabledByUser && mScreenSaverMayRun && mScreenOnEarly && mScreenSaverTimeout > 0) { if (localLOGV) Log.v(TAG, "scheduling screensaver for " + mScreenSaverTimeout + "ms from now"); mHandler.postDelayed(mScreenSaverActivator, mScreenSaverTimeout); } else { if (localLOGV) { if (mScreenSaverTimeout == 0) if (!mScreenSaverEnabledByUser || mScreenSaverTimeout == 0) Log.v(TAG, "screen saver disabled by user"); else if (!mScreenOnEarly) Log.v(TAG, "screen saver disabled while screen off"); Loading Loading @@ -3714,7 +3720,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // The window manager has just grabbed a wake lock. This is our cue to disable the screen // saver. synchronized (mLock) { mScreenSaverEnabled = false; mScreenSaverMayRun = false; } } Loading @@ -3728,7 +3734,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { synchronized (mLock) { // even if the keyguard is up, now that all the wakelocks have been released, we // should re-enable the screen saver mScreenSaverEnabled = true; mScreenSaverMayRun = true; updateScreenSaverTimeoutLocked(); } } Loading