diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-08-22 00:22:43 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-08-22 00:22:43 +0000 |
commit | 48a86feefe0a5ca4b53155806131eb94d749599e (patch) | |
tree | 78aa60fbc061eff199eafb7981cd871cfb0c3976 | |
parent | 255777af564d75b098b7616984ec11eafa6c6e81 (diff) | |
parent | 93e164726f2d243eb75351b4e52d683573f9f802 (diff) | |
download | base-48a86feefe0a5ca4b53155806131eb94d749599e.tar.gz |
Merge "Hold Display suspend blocker until doze starts" into qt-r1-dev
-rw-r--r-- | services/core/java/com/android/server/power/PowerManagerService.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index aa49ba62f48b..dc56b03bb100 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -2735,6 +2735,17 @@ public final class PowerManagerService extends SystemService if (mScreenBrightnessBoostInProgress) { return true; } + + // Because summoning the sandman is asyncronous, there is a time-gap where + // we release the display suspend blocker before the dream service acquires + // their own wakelock. Within this gap, we can end up suspending before + // dream service has a chance to start. To avoid this, we check if we want + // to doze and the sandman is scheduled and if so, keep the display on until + // that has passed. + if (mWakefulness == WAKEFULNESS_DOZING && mSandmanScheduled) { + return true; + } + // Let the system suspend if the screen is off or dozing. return false; } |