From 33538249f26f0cc637eac636f3712f972916595d Mon Sep 17 00:00:00 2001 From: Prashant Malani Date: Thu, 13 Nov 2014 14:04:00 -0800 Subject: Don't animate screen brightness if there is a pending off transition When the DisplayPowerRequest policy is POLICY_OFF, a screen state transition animation to DISPLAY_OFF is intiated. However, in updatePowerState() the screen brightness setting, based on the current display state, is set to normal brightness and an animation is triggered. This causes a transient flash on some devices, which are transitioning from a dimmed screen to screen off. This change checks for a pending screen off transition before triggering a screen brightness animation, to prevent the flashes. Bug: 18136235 Change-Id: I37f9fb28b3ec8a4fdbb45920c40d25ebd50c220b --- .../com/android/server/display/DisplayPowerController.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 11fe545..a2f60e4 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -654,11 +654,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Animate the screen brightness when the screen is on or dozing. // Skip the animation when the screen is off or suspended. - if (state == Display.STATE_ON || state == Display.STATE_DOZE) { - animateScreenBrightness(brightness, - slowChange ? BRIGHTNESS_RAMP_RATE_SLOW : BRIGHTNESS_RAMP_RATE_FAST); - } else { - animateScreenBrightness(brightness, 0); + if (!mPendingScreenOff) { + if (state == Display.STATE_ON || state == Display.STATE_DOZE) { + animateScreenBrightness(brightness, + slowChange ? BRIGHTNESS_RAMP_RATE_SLOW : BRIGHTNESS_RAMP_RATE_FAST); + } else { + animateScreenBrightness(brightness, 0); + } } // Determine whether the display is ready for use in the newly requested state. -- cgit v1.1