summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/display/DisplayPowerController.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 5f4c8efd4d9e..cfec114941d0 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -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) {