Loading services/core/java/com/android/server/display/brightness/clamper/BrightnessClamperController.java +6 −6 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.provider.DeviceConfig; import android.provider.DeviceConfigInterface; import android.util.IndentingPrintWriter; import android.util.Spline; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.display.BrightnessSynchronizer; Loading @@ -58,6 +59,7 @@ public class BrightnessClamperController { private final DeviceConfigParameterProvider mDeviceConfigParameterProvider; private final Handler mHandler; private final LightSensorController mLightSensorController; private int mDisplayState = Display.STATE_OFF; private final ClamperChangeListener mClamperChangeListenerExternal; private final Executor mExecutor; Loading Loading @@ -149,16 +151,13 @@ public class BrightnessClamperController { public DisplayBrightnessState clamp(DisplayBrightnessState displayBrightnessState, DisplayManagerInternal.DisplayPowerRequest request, float brightnessValue, boolean slowChange, int displayState) { mDisplayState = displayState; DisplayBrightnessState.Builder builder = DisplayBrightnessState.Builder.from( displayBrightnessState); builder.setIsSlowChange(slowChange); builder.setBrightness(brightnessValue); if (displayState != STATE_ON) { mLightSensorController.stop(); } else { adjustLightSensorSubscription(); } for (int i = 0; i < mModifiers.size(); i++) { mModifiers.get(i).apply(request, builder); Loading Loading @@ -230,7 +229,8 @@ public class BrightnessClamperController { } private void adjustLightSensorSubscription() { if (mModifiers.stream().anyMatch(BrightnessStateModifier::shouldListenToLightSensor)) { if (mDisplayState == STATE_ON && mModifiers.stream() .anyMatch(BrightnessStateModifier::shouldListenToLightSensor)) { mLightSensorController.restart(); } else { mLightSensorController.stop(); Loading services/tests/displayservicetests/src/com/android/server/display/brightness/clamper/BrightnessClamperControllerTest.java +25 −6 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading Loading @@ -126,16 +127,11 @@ public class BrightnessClamperControllerTest { @Test public void testConstructor_doesNotStartsLightSensorController() { verify(mMockLightSensorController, never()).restart(); } @Test public void testConstructor_startsLightSensorController() { when(mMockModifier.shouldListenToLightSensor()).thenReturn(true); mClamperController = createBrightnessClamperController(); verify(mMockLightSensorController).restart(); verify(mMockLightSensorController, never()).restart(); } @Test Loading Loading @@ -171,19 +167,42 @@ public class BrightnessClamperControllerTest { @Test public void testOnDisplayChanged_doesNotRestartLightSensor() { mClamperController.clamp(mDisplayBrightnessState, mMockRequest, 0.1f, false, STATE_ON); reset(mMockLightSensorController); mClamperController.onDisplayChanged(mMockDisplayDeviceData); verify(mMockLightSensorController, never()).restart(); verify(mMockLightSensorController).stop(); } @Test public void testOnDisplayChanged_restartsLightSensor() { when(mMockModifier.shouldListenToLightSensor()).thenReturn(true); mClamperController.clamp(mDisplayBrightnessState, mMockRequest, 0.1f, false, STATE_ON); reset(mMockLightSensorController); mClamperController.onDisplayChanged(mMockDisplayDeviceData); verify(mMockLightSensorController, never()).stop(); verify(mMockLightSensorController).restart(); } @Test public void testOnDisplayChanged_doesNotRestartLightSensor_screenOff() { when(mMockModifier.shouldListenToLightSensor()).thenReturn(true); mClamperController.clamp(mDisplayBrightnessState, mMockRequest, 0.1f, false, STATE_OFF); reset(mMockLightSensorController); mClamperController.onDisplayChanged(mMockDisplayDeviceData); verify(mMockLightSensorController, never()).restart(); verify(mMockLightSensorController).stop(); } @Test public void testClamp_AppliesModifier() { float initialBrightness = 0.2f; Loading Loading
services/core/java/com/android/server/display/brightness/clamper/BrightnessClamperController.java +6 −6 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.provider.DeviceConfig; import android.provider.DeviceConfigInterface; import android.util.IndentingPrintWriter; import android.util.Spline; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.display.BrightnessSynchronizer; Loading @@ -58,6 +59,7 @@ public class BrightnessClamperController { private final DeviceConfigParameterProvider mDeviceConfigParameterProvider; private final Handler mHandler; private final LightSensorController mLightSensorController; private int mDisplayState = Display.STATE_OFF; private final ClamperChangeListener mClamperChangeListenerExternal; private final Executor mExecutor; Loading Loading @@ -149,16 +151,13 @@ public class BrightnessClamperController { public DisplayBrightnessState clamp(DisplayBrightnessState displayBrightnessState, DisplayManagerInternal.DisplayPowerRequest request, float brightnessValue, boolean slowChange, int displayState) { mDisplayState = displayState; DisplayBrightnessState.Builder builder = DisplayBrightnessState.Builder.from( displayBrightnessState); builder.setIsSlowChange(slowChange); builder.setBrightness(brightnessValue); if (displayState != STATE_ON) { mLightSensorController.stop(); } else { adjustLightSensorSubscription(); } for (int i = 0; i < mModifiers.size(); i++) { mModifiers.get(i).apply(request, builder); Loading Loading @@ -230,7 +229,8 @@ public class BrightnessClamperController { } private void adjustLightSensorSubscription() { if (mModifiers.stream().anyMatch(BrightnessStateModifier::shouldListenToLightSensor)) { if (mDisplayState == STATE_ON && mModifiers.stream() .anyMatch(BrightnessStateModifier::shouldListenToLightSensor)) { mLightSensorController.restart(); } else { mLightSensorController.stop(); Loading
services/tests/displayservicetests/src/com/android/server/display/brightness/clamper/BrightnessClamperControllerTest.java +25 −6 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading Loading @@ -126,16 +127,11 @@ public class BrightnessClamperControllerTest { @Test public void testConstructor_doesNotStartsLightSensorController() { verify(mMockLightSensorController, never()).restart(); } @Test public void testConstructor_startsLightSensorController() { when(mMockModifier.shouldListenToLightSensor()).thenReturn(true); mClamperController = createBrightnessClamperController(); verify(mMockLightSensorController).restart(); verify(mMockLightSensorController, never()).restart(); } @Test Loading Loading @@ -171,19 +167,42 @@ public class BrightnessClamperControllerTest { @Test public void testOnDisplayChanged_doesNotRestartLightSensor() { mClamperController.clamp(mDisplayBrightnessState, mMockRequest, 0.1f, false, STATE_ON); reset(mMockLightSensorController); mClamperController.onDisplayChanged(mMockDisplayDeviceData); verify(mMockLightSensorController, never()).restart(); verify(mMockLightSensorController).stop(); } @Test public void testOnDisplayChanged_restartsLightSensor() { when(mMockModifier.shouldListenToLightSensor()).thenReturn(true); mClamperController.clamp(mDisplayBrightnessState, mMockRequest, 0.1f, false, STATE_ON); reset(mMockLightSensorController); mClamperController.onDisplayChanged(mMockDisplayDeviceData); verify(mMockLightSensorController, never()).stop(); verify(mMockLightSensorController).restart(); } @Test public void testOnDisplayChanged_doesNotRestartLightSensor_screenOff() { when(mMockModifier.shouldListenToLightSensor()).thenReturn(true); mClamperController.clamp(mDisplayBrightnessState, mMockRequest, 0.1f, false, STATE_OFF); reset(mMockLightSensorController); mClamperController.onDisplayChanged(mMockDisplayDeviceData); verify(mMockLightSensorController, never()).restart(); verify(mMockLightSensorController).stop(); } @Test public void testClamp_AppliesModifier() { float initialBrightness = 0.2f; Loading