@@ -227,6 +227,9 @@ public final class PowerManagerService extends IPowerManager.Stub
227227 // True if dreams are enabled by the user.
228228 private boolean mDreamsEnabledSetting ;
229229
230+ // True if dreams should be activated on sleep.
231+ private boolean mDreamsActivateOnSleepSetting ;
232+
230233 // The screen off timeout setting value in milliseconds.
231234 private int mScreenOffTimeoutSetting ;
232235
@@ -356,6 +359,8 @@ public void systemReady(TwilightService twilight) {
356359 final ContentResolver resolver = mContext .getContentResolver ();
357360 resolver .registerContentObserver (Settings .Secure .getUriFor (
358361 Settings .Secure .SCREENSAVER_ENABLED ), false , mSettingsObserver );
362+ resolver .registerContentObserver (Settings .Secure .getUriFor (
363+ Settings .Secure .SCREENSAVER_ACTIVATE_ON_SLEEP ), false , mSettingsObserver );
359364 resolver .registerContentObserver (Settings .System .getUriFor (
360365 Settings .System .SCREEN_OFF_TIMEOUT ), false , mSettingsObserver );
361366 resolver .registerContentObserver (Settings .System .getUriFor (
@@ -387,6 +392,8 @@ private void updateSettingsLocked() {
387392
388393 mDreamsEnabledSetting = (Settings .Secure .getInt (resolver ,
389394 Settings .Secure .SCREENSAVER_ENABLED , 0 ) != 0 );
395+ mDreamsActivateOnSleepSetting = (Settings .Secure .getInt (resolver ,
396+ Settings .Secure .SCREENSAVER_ACTIVATE_ON_SLEEP , 0 ) != 0 );
390397 mScreenOffTimeoutSetting = Settings .System .getInt (resolver ,
391398 Settings .System .SCREEN_OFF_TIMEOUT , DEFAULT_SCREEN_OFF_TIMEOUT );
392399 mStayOnWhilePluggedInSetting = Settings .System .getInt (resolver ,
@@ -1246,7 +1253,8 @@ private void handleSandman() { // runs on handler thread
12461253 * assuming there has been no recent user activity and no wake locks are held.
12471254 */
12481255 private boolean canDreamLocked () {
1249- return mIsPowered && mDreamsSupportedConfig && mDreamsEnabledSetting ;
1256+ return mIsPowered && mDreamsSupportedConfig
1257+ && mDreamsEnabledSetting && mDreamsActivateOnSleepSetting ;
12501258 }
12511259
12521260 /**
@@ -1822,6 +1830,7 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
18221830 pw .println ("Settings and Configuration:" );
18231831 pw .println (" mDreamsSupportedConfig=" + mDreamsSupportedConfig );
18241832 pw .println (" mDreamsEnabledSetting=" + mDreamsEnabledSetting );
1833+ pw .println (" mDreamsActivateOnSleepSetting=" + mDreamsActivateOnSleepSetting );
18251834 pw .println (" mScreenOffTimeoutSetting=" + mScreenOffTimeoutSetting );
18261835 pw .println (" mMaximumScreenOffTimeoutFromDeviceAdmin="
18271836 + mMaximumScreenOffTimeoutFromDeviceAdmin + " (enforced="
0 commit comments