From 448a4e59adf736e7d76daf715ff191e8a0a7eff5 Mon Sep 17 00:00:00 2001 From: Prashant Malani Date: Tue, 27 May 2014 19:23:59 -0700 Subject: 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 --- .../com/android/server/display/DisplayPowerController.java | 10 ++++++++-- 1 file 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) { -- cgit v1.2.3-59-g8ed1b