Merge "Update brightness sensor registration on AOD_PAUSED changes" into tm-dev

This commit is contained in:
Beverly Tai
2022-04-01 12:57:02 +00:00
committed by Android (Google) Code Review
2 changed files with 42 additions and 36 deletions

View File

@@ -147,6 +147,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi
setLightSensorEnabled(true);
break;
case DOZE:
case DOZE_AOD_PAUSED:
setLightSensorEnabled(false);
resetBrightnessToDefault();
break;

View File

@@ -210,20 +210,6 @@ public class DozeScreenBrightnessTest extends SysuiTestCase {
assertEquals(3, mServiceFake.screenBrightness);
}
@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(
@@ -431,37 +417,18 @@ 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();
mSensor.sendSensorEvent(2);
verify(mDozeHost).setAodDimmingScrim(eq(0f));
}
@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);
waitForSensorManager();
mSensor.sendSensorEvent(2);
verify(mDozeHost).setAodDimmingScrim(eq(0f));
}
@@ -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();
}