summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java1
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java73
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();
}