diff options
| author | 2023-06-06 10:33:48 -0700 | |
|---|---|---|
| committer | 2023-06-06 14:26:27 -0700 | |
| commit | 9c486ed4fcd2bc28bb009be8b4d80fed6c6532cd (patch) | |
| tree | e47c9f74d221ab7223f3a3bf30ee9dbe530b5f36 | |
| parent | 94e4aeef4659315562fad7bc7d4879575211d398 (diff) | |
Fix screen not turning off on power button press.
If Bedtime is active and the "Keep the screen dark" option is enabled,
then the device shouldn't dream and tapping power button should turn the
screen off but didn't. This change fixes that issue.
Bug: 284857728
Test: Manually by enabling bedtime and the "keep screen dark" option and
then tapping power button to verify the screen turns off. Also, if
bedtime is disabled (or "keep screen dark" is disabled), then power
button should continue to start dreaming.
Change-Id: I5db541c5c2e52c58d773822bb7404704516cbb28
| -rw-r--r-- | services/core/java/com/android/server/dreams/DreamManagerService.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java index d2dcc508d01f..41651fd5553c 100644 --- a/services/core/java/com/android/server/dreams/DreamManagerService.java +++ b/services/core/java/com/android/server/dreams/DreamManagerService.java @@ -126,6 +126,7 @@ public final class DreamManagerService extends SystemService { private final boolean mDreamsActivatedOnChargeByDefault; private final boolean mDreamsActivatedOnDockByDefault; private final boolean mKeepDreamingWhenUnpluggingDefault; + private final boolean mDreamsDisabledByAmbientModeSuppressionConfig; private final CopyOnWriteArrayList<DreamManagerInternal.DreamManagerStateListener> mDreamManagerStateListeners = new CopyOnWriteArrayList<>(); @@ -239,6 +240,9 @@ public final class DreamManagerService extends SystemService { mSettingsObserver = new SettingsObserver(mHandler); mKeepDreamingWhenUnpluggingDefault = mContext.getResources().getBoolean( com.android.internal.R.bool.config_keepDreamingWhenUnplugging); + mDreamsDisabledByAmbientModeSuppressionConfig = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig); + } @Override @@ -406,6 +410,13 @@ public final class DreamManagerService extends SystemService { return false; } + if (mDreamsDisabledByAmbientModeSuppressionConfig + && mPowerManagerInternal.isAmbientDisplaySuppressed()) { + // Don't dream if Bedtime (or something else) is suppressing ambient. + Slog.i(TAG, "Can't start dreaming because ambient is suppressed."); + return false; + } + if ((mWhenToDream & DREAM_ON_CHARGE) == DREAM_ON_CHARGE) { return mIsCharging; } |