From 7303db73eb3664f0fde03f32a09bce97b0709206 Mon Sep 17 00:00:00 2001 From: Rupesh Bansal Date: Wed, 1 Feb 2023 19:00:53 +0000 Subject: [PATCH] Fix the issue where the first brightness for a device was set to 0 Bug: 267479840 Test: Manually verified that the first brightness is set to the default value Change-Id: Ibc2f038d4651e8e0d05b2ab77945bdc0cd76f962 --- .../display/brightness/DisplayBrightnessController.java | 2 +- .../brightness/DisplayBrightnessControllerTest.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java b/services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java index 13fcff3805d34..e3d92a7b4831a 100644 --- a/services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +++ b/services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java @@ -92,9 +92,9 @@ public final class DisplayBrightnessController { // TODO: b/186428377 update brightness setting when display changes mBrightnessSetting = brightnessSetting; mPendingScreenBrightness = PowerManager.BRIGHTNESS_INVALID_FLOAT; + mScreenBrightnessDefault = BrightnessUtils.clampAbsoluteBrightness(defaultScreenBrightness); mCurrentScreenBrightness = getScreenBrightnessSetting(); mOnBrightnessChangeRunnable = onBrightnessChangeRunnable; - mScreenBrightnessDefault = BrightnessUtils.clampAbsoluteBrightness(defaultScreenBrightness); mDisplayBrightnessStrategySelector = injector.getDisplayBrightnessStrategySelector(context, displayId); } diff --git a/services/tests/servicestests/src/com/android/server/display/brightness/DisplayBrightnessControllerTest.java b/services/tests/servicestests/src/com/android/server/display/brightness/DisplayBrightnessControllerTest.java index d4ab794f55dc9..ebd63a0a2ad34 100644 --- a/services/tests/servicestests/src/com/android/server/display/brightness/DisplayBrightnessControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/display/brightness/DisplayBrightnessControllerTest.java @@ -47,7 +47,7 @@ import org.mockito.MockitoAnnotations; @RunWith(AndroidJUnit4.class) public final class DisplayBrightnessControllerTest { private static final int DISPLAY_ID = 1; - private static final float DEFAULT_BRIGHTNESS = 0.4f; + private static final float DEFAULT_BRIGHTNESS = 0.15f; @Mock private DisplayBrightnessStrategySelector mDisplayBrightnessStrategySelector; @@ -70,10 +70,17 @@ public final class DisplayBrightnessControllerTest { return mDisplayBrightnessStrategySelector; } }; + when(mBrightnessSetting.getBrightness()).thenReturn(Float.NaN); mDisplayBrightnessController = new DisplayBrightnessController(mContext, injector, DISPLAY_ID, DEFAULT_BRIGHTNESS, mBrightnessSetting, mOnBrightnessChangeRunnable); } + @Test + public void testIfFirstScreenBrightnessIsDefault() { + assertEquals(mDisplayBrightnessController.getCurrentBrightness(), DEFAULT_BRIGHTNESS, + 0.0f); + } + @Test public void testUpdateBrightness() { DisplayPowerRequest displayPowerRequest = mock(DisplayPowerRequest.class);