summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Prashant Malani <pmalani@google.com> 2014-05-27 19:23:59 -0700
committer Prashant Malani <pmalani@google.com> 2014-06-05 22:25:23 +0000
commit448a4e59adf736e7d76daf715ff191e8a0a7eff5 (patch)
tree82615626e2a955cd41ef81a84bc8e301da4e8eeb
parent305f3e216a52af44e1296795803afe4ce17797ca (diff)
DO NOT MERGE Change display state modification during dozing
Check that the BrightnessRamp animation has completed before updating the display state to STATE_DOZING. Bug: 13472578 Change-Id: Ib9751f7a987463e4df98571e846d829ec8e73b5e Signed-off-by: Prashant Malani <pmalani@google.com>
-rw-r--r--services/core/java/com/android/server/display/DisplayPowerController.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 47406a1d9457..1a36cbf51ce7 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -706,8 +706,14 @@ final class DisplayPowerController {
// Turn the screen on. The contents of the screen may not yet
// be visible if the electron beam has not been dismissed because
// its last frame of animation is solid black.
- setScreenState(mPowerRequest.screenState == DisplayPowerRequest.SCREEN_STATE_DOZE
- ? Display.STATE_DOZING : Display.STATE_ON);
+
+ if (mPowerRequest.screenState == DisplayPowerRequest.SCREEN_STATE_DOZE) {
+ if (!mScreenBrightnessRampAnimator.isAnimating()) {
+ setScreenState(Display.STATE_DOZING);
+ }
+ } else {
+ setScreenState(Display.STATE_ON);
+ }
if (mPowerRequest.blockScreenOn
&& mPowerState.getElectronBeamLevel() == 0.0f) {