diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java | 1 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java | 73 |
2 files changed, 40 insertions, 34 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java index dfb27eff722b..0024a460136e 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java @@ -147,6 +147,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi setLightSensorEnabled(true); break; case DOZE: + case DOZE_AOD_PAUSED: setLightSensorEnabled(false); resetBrightnessToDefault(); break; diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java index f4b378e6c19c..4736587e6955 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java @@ -211,20 +211,6 @@ public class DozeScreenBrightnessTest extends SysuiTestCase { } @Test - public void testPausingAod_doesNotResetBrightness() throws Exception { - mScreen.transitionTo(UNINITIALIZED, INITIALIZED); - mScreen.transitionTo(INITIALIZED, DOZE_AOD); - waitForSensorManager(); - - mSensor.sendSensorEvent(1); - - mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING); - mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED); - - assertEquals(1, mServiceFake.screenBrightness); - } - - @Test public void testPulsing_withoutLightSensor_setsAoDDimmingScrimTransparent() throws Exception { mScreen = new DozeScreenBrightness( mContext, @@ -431,18 +417,14 @@ public class DozeScreenBrightnessTest extends SysuiTestCase { } @Test - public void pausingAod_unblanksAfterSensor() { + public void pausingAod_unblanksAfterSensorEvent() { mScreen.transitionTo(UNINITIALIZED, INITIALIZED); mScreen.transitionTo(INITIALIZED, DOZE_AOD); waitForSensorManager(); - mSensor.sendSensorEvent(2); - mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING); mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED); - mSensor.sendSensorEvent(0); - reset(mDozeHost); mScreen.transitionTo(DOZE_AOD_PAUSED, DOZE_AOD); waitForSensorManager(); @@ -451,21 +433,6 @@ public class DozeScreenBrightnessTest extends SysuiTestCase { } @Test - public void pausingAod_unblanksIfSensorWasAlwaysReady() throws Exception { - mScreen.transitionTo(UNINITIALIZED, INITIALIZED); - mScreen.transitionTo(INITIALIZED, DOZE_AOD); - waitForSensorManager(); - - mSensor.sendSensorEvent(2); - mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING); - mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED); - - reset(mDozeHost); - mScreen.transitionTo(DOZE_AOD_PAUSED, DOZE_AOD); - verify(mDozeHost).setAodDimmingScrim(eq(0f)); - } - - @Test public void transitionToDoze_shouldClampBrightness_afterTimeout_clampsToDim() { when(mWakefulnessLifecycle.getLastSleepReason()).thenReturn( PowerManager.GO_TO_SLEEP_REASON_TIMEOUT); @@ -538,6 +505,44 @@ public class DozeScreenBrightnessTest extends SysuiTestCase { assertEquals(mServiceFake.screenBrightness, DEFAULT_BRIGHTNESS); } + @Test + public void transitionToAodPaused_resetsToDefaultBrightness_lightSensorDisabled() { + // GIVEN AOD + mScreen.transitionTo(UNINITIALIZED, INITIALIZED); + mScreen.transitionTo(INITIALIZED, DOZE_AOD); + + // WHEN AOD is paused + mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING); + mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSED); + waitForSensorManager(); + + // THEN brightness is reset and light sensor is unregistered + assertEquals(mServiceFake.screenBrightness, DEFAULT_BRIGHTNESS); + + // THEN new light events don't update brightness since the light sensor was unregistered + mSensor.sendSensorEvent(1); + assertEquals(mServiceFake.screenBrightness, DEFAULT_BRIGHTNESS); + } + + @Test + public void transitionFromAodPausedToAod_lightSensorEnabled() { + // GIVEN AOD paused + mScreen.transitionTo(UNINITIALIZED, INITIALIZED); + mScreen.transitionTo(INITIALIZED, DOZE_AOD); + mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING); + mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSED); + + // WHEN device transitions back to AOD + mScreen.transitionTo(DOZE_AOD_PAUSED, DOZE_AOD); + waitForSensorManager(); + + // WHEN there are brightness changes + mSensor.sendSensorEvent(1); + + // THEN aod brightness is updated + assertEquals(mServiceFake.screenBrightness, 1); + } + private void waitForSensorManager() { mFakeExecutor.runAllReady(); } |