Loading services/core/java/com/android/server/display/DisplayPowerController.java +16 −6 Original line number Original line Diff line number Diff line Loading @@ -1067,13 +1067,23 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mColorFadeEnabled && mPowerState.getColorFadeLevel() == 1.0f; mColorFadeEnabled && mPowerState.getColorFadeLevel() == 1.0f; final boolean brightnessIsTemporary = final boolean brightnessIsTemporary = mAppliedTemporaryBrightness || mAppliedTemporaryAutoBrightnessAdjustment; mAppliedTemporaryBrightness || mAppliedTemporaryAutoBrightnessAdjustment; // We only want to animate the brightness if it is between 0.0f and 1.0f. // brightnessState can contain the values -1.0f and NaN, which we do not want to // animate to. To avoid this, we check the value first. // If the brightnessState is off (-1.0f) we still want to animate to the minimum // brightness (0.0f) to accommodate for LED displays, which can appear bright to the // user even when the display is all black. float animateValue = brightnessState == PowerManager.BRIGHTNESS_OFF_FLOAT ? PowerManager.BRIGHTNESS_MIN : brightnessState; if (isValidBrightnessValue(animateValue)) { if (initialRampSkip || hasBrightnessBuckets if (initialRampSkip || hasBrightnessBuckets || wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) { || wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) { animateScreenBrightness(brightnessState, SCREEN_ANIMATION_RATE_MINIMUM); animateScreenBrightness(animateValue, SCREEN_ANIMATION_RATE_MINIMUM); } else { } else { animateScreenBrightness(brightnessState, animateScreenBrightness(animateValue, slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast); slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast); } } } if (!brightnessIsTemporary) { if (!brightnessIsTemporary) { if (userInitiatedChange && (mAutomaticBrightnessController == null if (userInitiatedChange && (mAutomaticBrightnessController == null Loading services/core/java/com/android/server/display/DisplayPowerState.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -146,7 +146,7 @@ final class DisplayPowerState { /** /** * Sets the display brightness. * Sets the display brightness. * * * @param brightness The brightness, ranges from 0 (minimum / off) to 255 (brightest). * @param brightness The brightness, ranges from 0.0f (minimum / off) to 1.0f (brightest). */ */ public void setScreenBrightness(float brightness) { public void setScreenBrightness(float brightness) { if (mScreenBrightness != brightness) { if (mScreenBrightness != brightness) { Loading Loading
services/core/java/com/android/server/display/DisplayPowerController.java +16 −6 Original line number Original line Diff line number Diff line Loading @@ -1067,13 +1067,23 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mColorFadeEnabled && mPowerState.getColorFadeLevel() == 1.0f; mColorFadeEnabled && mPowerState.getColorFadeLevel() == 1.0f; final boolean brightnessIsTemporary = final boolean brightnessIsTemporary = mAppliedTemporaryBrightness || mAppliedTemporaryAutoBrightnessAdjustment; mAppliedTemporaryBrightness || mAppliedTemporaryAutoBrightnessAdjustment; // We only want to animate the brightness if it is between 0.0f and 1.0f. // brightnessState can contain the values -1.0f and NaN, which we do not want to // animate to. To avoid this, we check the value first. // If the brightnessState is off (-1.0f) we still want to animate to the minimum // brightness (0.0f) to accommodate for LED displays, which can appear bright to the // user even when the display is all black. float animateValue = brightnessState == PowerManager.BRIGHTNESS_OFF_FLOAT ? PowerManager.BRIGHTNESS_MIN : brightnessState; if (isValidBrightnessValue(animateValue)) { if (initialRampSkip || hasBrightnessBuckets if (initialRampSkip || hasBrightnessBuckets || wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) { || wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) { animateScreenBrightness(brightnessState, SCREEN_ANIMATION_RATE_MINIMUM); animateScreenBrightness(animateValue, SCREEN_ANIMATION_RATE_MINIMUM); } else { } else { animateScreenBrightness(brightnessState, animateScreenBrightness(animateValue, slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast); slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast); } } } if (!brightnessIsTemporary) { if (!brightnessIsTemporary) { if (userInitiatedChange && (mAutomaticBrightnessController == null if (userInitiatedChange && (mAutomaticBrightnessController == null Loading
services/core/java/com/android/server/display/DisplayPowerState.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -146,7 +146,7 @@ final class DisplayPowerState { /** /** * Sets the display brightness. * Sets the display brightness. * * * @param brightness The brightness, ranges from 0 (minimum / off) to 255 (brightest). * @param brightness The brightness, ranges from 0.0f (minimum / off) to 1.0f (brightest). */ */ public void setScreenBrightness(float brightness) { public void setScreenBrightness(float brightness) { if (mScreenBrightness != brightness) { if (mScreenBrightness != brightness) { Loading