From ad9a6ea8304eb3e1336fa0f9496d958c31626fff Mon Sep 17 00:00:00 2001 From: Kenny Guy Date: Wed, 31 Jan 2018 15:57:15 +0000 Subject: [PATCH] Fix manual brightness slider Pending brightness change never stored in current brightness. Bug: 72725570 Test: manual - non-adaptive move slider check it works, reboot check brightness was persisted. Test: manual - adaptive - move slider check it works. Test: manual - verify slider events are logged for adaptive and not for manual brightness Change-Id: If2914dcb223cf4308f178c101e862e6b4ba851bb --- .../com/android/server/display/DisplayPowerController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index fa352ab2988f9..e4a6beb85d55d 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -478,6 +478,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mScreenBrightnessForVr = getScreenBrightnessForVrSetting(); mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting(); mTemporaryScreenBrightness = -1; + mPendingScreenBrightnessSetting = -1; mTemporaryAutoBrightnessAdjustment = Float.NaN; } @@ -1466,6 +1467,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mPendingScreenBrightnessSetting = -1; return false; } + mCurrentScreenBrightnessSetting = mPendingScreenBrightnessSetting; mLastUserSetScreenBrightness = mPendingScreenBrightnessSetting; mPendingScreenBrightnessSetting = -1; return true; @@ -1474,7 +1476,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private void notifyBrightnessChanged(int brightness, boolean userInitiated, boolean hadUserDataPoint) { final float brightnessInNits = convertToNits(brightness); - if (brightnessInNits >= 0.0f && mAutomaticBrightnessController != null) { + if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f + && mAutomaticBrightnessController != null) { // We only want to track changes on devices that can actually map the display backlight // values into a physical brightness unit since the value provided by the API is in // nits and not using the arbitrary backlight units.