Merge "Speed up brightness transition if auto brightness adjustment is changed"
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 3d5fb57..bc264fa 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -421,6 +421,7 @@
final boolean mustNotify;
boolean mustInitialize = false;
boolean wasDimOrDoze = false;
+ boolean autoBrightnessAdjustmentChanged = false;
synchronized (mLock) {
mPendingUpdatePowerStateLocked = false;
@@ -437,6 +438,8 @@
} else if (mPendingRequestChangedLocked) {
wasDimOrDoze = (mPowerRequest.screenState == DisplayPowerRequest.SCREEN_STATE_DIM
|| mPowerRequest.screenState == DisplayPowerRequest.SCREEN_STATE_DOZE);
+ autoBrightnessAdjustmentChanged = (mPowerRequest.screenAutoBrightnessAdjustment
+ != mPendingRequestLocked.screenAutoBrightnessAdjustment);
mPowerRequest.copyFrom(mPendingRequestLocked);
mWaitingForNegativeProximity |= mPendingWaitForNegativeProximityLocked;
mPendingWaitForNegativeProximityLocked = false;
@@ -494,7 +497,7 @@
if (screenAutoBrightness >= 0 && mPowerRequest.useAutoBrightness) {
// Use current auto-brightness value.
target = screenAutoBrightness;
- slow = mUsingScreenAutoBrightness;
+ slow = mUsingScreenAutoBrightness && !autoBrightnessAdjustmentChanged;
mUsingScreenAutoBrightness = true;
} else {
// Light sensor is disabled or not ready yet.