Added screen brightness override feedback.

Added code to reflect the screen brightness override in the brightness
slider, and reset any user changes to it to communicate that they're
not taking effect.

Test: manual (launch an app that sets the screen brightness override
      and see that it's reflected in the brightness slider, and that
      any user changes to it are reset).

Change-Id: Id6758e6fdfeb80a6c206d08215c1001a437a23c3
Fixes: 78006624
This commit is contained in:
Dan Gittik
2018-04-13 15:14:36 +01:00
parent 682ca4122d
commit 3d9ce7bc6e

View File

@@ -760,8 +760,14 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
brightness = mScreenBrightnessForVr;
}
boolean setBrightnessToOverride = false;
if (brightness < 0 && mPowerRequest.screenBrightnessOverride > 0) {
brightness = mPowerRequest.screenBrightnessOverride;
// If there's a screen brightness override, we want to reset the brightness to it
// whenever the user changes it, to communicate that these changes aren't taking
// effect. However, for a nicer user experience, we don't do it here, but rather after
// the temporary brightness has been taken into account.
setBrightnessToOverride = true;
}
final boolean autoBrightnessEnabledInDoze =
@@ -784,6 +790,12 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
brightnessIsTemporary = true;
}
// Reset the brightness to the screen brightness override to communicate to the user that
// her changes aren't taking effect.
if (setBrightnessToOverride && !brightnessIsTemporary) {
putScreenBrightnessSetting(brightness);
}
final boolean autoBrightnessAdjustmentChanged = updateAutoBrightnessAdjustment();
if (autoBrightnessAdjustmentChanged) {
mTemporaryAutoBrightnessAdjustment = Float.NaN;
@@ -867,7 +879,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
brightness = clampScreenBrightness(mCurrentScreenBrightnessSetting);
}
// Apply dimming by at least some minimum amount when user activity
// timeout is about to expire.
if (mPowerRequest.policy == DisplayPowerRequest.POLICY_DIM) {