diff options
Diffstat (limited to 'com/android/server/display/DisplayPowerController.java')
-rw-r--r-- | com/android/server/display/DisplayPowerController.java | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/com/android/server/display/DisplayPowerController.java b/com/android/server/display/DisplayPowerController.java index f930b523..f8e58362 100644 --- a/com/android/server/display/DisplayPowerController.java +++ b/com/android/server/display/DisplayPowerController.java @@ -683,8 +683,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Configure auto-brightness. boolean autoBrightnessEnabled = false; if (mAutomaticBrightnessController != null) { - final boolean autoBrightnessEnabledInDoze = - mAllowAutoBrightnessWhileDozingConfig && Display.isDozeState(state); + final boolean autoBrightnessEnabledInDoze = mAllowAutoBrightnessWhileDozingConfig + && (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND); autoBrightnessEnabled = mPowerRequest.useAutoBrightness && (state == Display.STATE_ON || autoBrightnessEnabledInDoze) && brightness < 0; @@ -726,7 +726,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call } // Use default brightness when dozing unless overridden. - if (brightness < 0 && Display.isDozeState(state)) { + if (brightness < 0 && (state == Display.STATE_DOZE + || state == Display.STATE_DOZE_SUSPEND)) { brightness = mScreenBrightnessDozeConfig; } @@ -776,6 +777,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Skip the animation when the screen is off or suspended or transition to/from VR. if (!mPendingScreenOff) { if (mSkipScreenOnBrightnessRamp) { + if (state == Display.STATE_ON) { if (mSkipRampState == RAMP_STATE_SKIP_NONE && mDozing) { mInitialAutoBrightness = brightness; @@ -792,25 +794,15 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call } } - final boolean wasOrWillBeInVr = - (state == Display.STATE_VR || oldState == Display.STATE_VR); - final boolean initialRampSkip = - state == Display.STATE_ON && mSkipRampState != RAMP_STATE_SKIP_NONE; - // While dozing, sometimes the brightness is split into buckets. Rather than animating - // through the buckets, which is unlikely to be smooth in the first place, just jump - // right to the suggested brightness. - final boolean hasBrightnessBuckets = - Display.isDozeState(state) && mBrightnessBucketsInDozeConfig; - // If the color fade is totally covering the screen then we can change the backlight - // level without it being a noticeable jump since any actual content isn't yet visible. - final boolean isDisplayContentVisible = - mColorFadeEnabled && mPowerState.getColorFadeLevel() == 1.0f; - if (initialRampSkip || hasBrightnessBuckets - || wasOrWillBeInVr || !isDisplayContentVisible) { - animateScreenBrightness(brightness, 0); - } else { + boolean wasOrWillBeInVr = (state == Display.STATE_VR || oldState == Display.STATE_VR); + if ((state == Display.STATE_ON + && mSkipRampState == RAMP_STATE_SKIP_NONE + || state == Display.STATE_DOZE && !mBrightnessBucketsInDozeConfig) + && !wasOrWillBeInVr) { animateScreenBrightness(brightness, slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast); + } else { + animateScreenBrightness(brightness, 0); } } @@ -933,7 +925,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call } if (!reportOnly) { - Trace.traceCounter(Trace.TRACE_TAG_POWER, "ScreenState", state); mPowerState.setScreenState(state); // Tell battery stats about the transition. try { |