From ddb7353bd81b22aeeba356bd59384c593d7cfc4d Mon Sep 17 00:00:00 2001 From: Rupesh Bansal Date: Wed, 28 Dec 2022 06:17:46 +0000 Subject: [PATCH] Allowing autobrightness to be enabled in the temporary brightness state This fixes the issue where the brightness wouldnt change when the slider is moved when autobrightness is enabled. Bug: 262355667 Test: Manually move the slider with autobrightness enabled, and confirm that the brightness changes and do not return back to the initial point. Change-Id: Ic21b6c42c446ec4fca0e4cc203ef5e9c5211ffcd --- .../com/android/server/display/DisplayPowerController2.java | 4 +++- .../brightness/strategy/TemporaryBrightnessStrategy.java | 1 - .../brightness/strategy/TemporaryBrightnessStrategyTest.java | 2 -- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/display/DisplayPowerController2.java b/services/core/java/com/android/server/display/DisplayPowerController2.java index 09136b0966534..4476ee57396b1 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController2.java +++ b/services/core/java/com/android/server/display/DisplayPowerController2.java @@ -1192,7 +1192,9 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal && Display.isDozeState(state); final boolean autoBrightnessEnabled = mUseAutoBrightness && (state == Display.STATE_ON || autoBrightnessEnabledInDoze) - && Float.isNaN(brightnessState) + && (Float.isNaN(brightnessState) + || mBrightnessReasonTemp.getReason() == BrightnessReason.REASON_TEMPORARY + || mBrightnessReasonTemp.getReason() == BrightnessReason.REASON_BOOST) && mAutomaticBrightnessController != null; final boolean autoBrightnessDisabledDueToDisplayOff = mUseAutoBrightness && !(state == Display.STATE_ON || autoBrightnessEnabledInDoze); diff --git a/services/core/java/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategy.java b/services/core/java/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategy.java index f8063f3f3c307..7d759ca84f67d 100644 --- a/services/core/java/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategy.java +++ b/services/core/java/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategy.java @@ -48,7 +48,6 @@ public class TemporaryBrightnessStrategy implements DisplayBrightnessStrategy { BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_TEMPORARY, mTemporaryScreenBrightness, mTemporaryScreenBrightness); - mTemporaryScreenBrightness = Float.NaN; return displayBrightnessState; } diff --git a/services/tests/servicestests/src/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategyTest.java b/services/tests/servicestests/src/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategyTest.java index 4a32796470c71..b92aa9ce139ca 100644 --- a/services/tests/servicestests/src/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategyTest.java +++ b/services/tests/servicestests/src/com/android/server/display/brightness/strategy/TemporaryBrightnessStrategyTest.java @@ -59,8 +59,6 @@ public class TemporaryBrightnessStrategyTest { DisplayBrightnessState updatedDisplayBrightnessState = mTemporaryBrightnessStrategy.updateBrightness(displayPowerRequest); assertEquals(updatedDisplayBrightnessState, expectedDisplayBrightnessState); - assertEquals(mTemporaryBrightnessStrategy.getTemporaryScreenBrightness(), - Float.NaN, 0.0f); } }