summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Will Leshner <wleshner@google.com> 2023-06-06 10:33:48 -0700
committer Will Leshner <wleshner@google.com> 2023-06-06 14:26:27 -0700
commit9c486ed4fcd2bc28bb009be8b4d80fed6c6532cd (patch)
treee47c9f74d221ab7223f3a3bf30ee9dbe530b5f36
parent94e4aeef4659315562fad7bc7d4879575211d398 (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.java11
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;
}