import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import android.os.PowerManager;
mScreen.transitionTo(INITIALIZED, DOZE_AOD);
mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING);
mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED);
-
- assertTrue(mScreen.isReady());
}
@Test
}
@Test
- public void testNonPositiveBrightness_keepsPreviousBrightness() throws Exception {
+ public void testNonPositiveBrightness_keepsPreviousBrightnessAndScrim() throws Exception {
mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
mScreen.transitionTo(INITIALIZED, DOZE_AOD);
- mSensor.sendSensorEvent(2);
+ mSensor.sendSensorEvent(1);
mSensor.sendSensorEvent(0);
- assertEquals(2, mServiceFake.screenBrightness);
- }
-
- @Test
- public void readyWhenNotInitialized() {
- assertTrue(mScreen.isReady());
- }
-
- @Test
- public void readyWhenNotRegistered() {
- mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
- mScreen.transitionTo(INITIALIZED, DOZE);
-
- assertTrue(mScreen.isReady());
+ assertEquals(1, mServiceFake.screenBrightness);
+ assertEquals(10/255f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
}
@Test
- public void notReadyWhenRegistered_butNoEventYet() {
+ public void pausingAod_softBlanks() throws Exception {
mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
mScreen.transitionTo(INITIALIZED, DOZE_AOD);
- assertFalse(mScreen.isReady());
- }
+ mSensor.sendSensorEvent(2);
- @Test
- public void notReady_afterZeroBrightness() {
- mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
- mScreen.transitionTo(INITIALIZED, DOZE_AOD);
+ mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING);
+ mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED);
+
+ assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
mSensor.sendSensorEvent(0);
+ assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
- assertFalse(mScreen.isReady());
+ mScreen.transitionTo(DOZE_AOD_PAUSED, DOZE_AOD);
+ assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
}
@Test
- public void ready_afterNonZeroBrightness() {
+ public void pausingAod_softBlanks_withSpuriousSensorDuringPause() throws Exception {
mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
mScreen.transitionTo(INITIALIZED, DOZE_AOD);
+ mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING);
+ mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED);
mSensor.sendSensorEvent(1);
-
- assertTrue(mScreen.isReady());
+ assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
}
@Test
- public void notReady_nonZeroThenZeroBrightness() {
+ public void pausingAod_unblanksAfterSensor() throws Exception {
mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
mScreen.transitionTo(INITIALIZED, DOZE_AOD);
- mSensor.sendSensorEvent(1);
- mSensor.sendSensorEvent(0);
+ mSensor.sendSensorEvent(2);
- assertFalse(mScreen.isReady());
- }
+ mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING);
+ mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED);
- @Test
- public void readyListener_getsCalled_whenRegistering() throws Exception {
- Boolean[] ready = new Boolean[1];
+ mSensor.sendSensorEvent(0);
+
+ mScreen.transitionTo(DOZE_AOD_PAUSED, DOZE_AOD);
- mScreen.setBrightnessReadyListener((x) -> ready[0] = true);
+ mSensor.sendSensorEvent(2);
- assertTrue(ready[0]);
+ assertEquals(0f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
}
@Test
- public void readyListener_getsCalled_whenReadyChanges() throws Exception {
- Boolean[] ready = new Boolean[1];
- mScreen.setBrightnessReadyListener((x) -> ready[0] = true);
-
+ public void pausingAod_unblanksIfSensorWasAlwaysReady() throws Exception {
mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
mScreen.transitionTo(INITIALIZED, DOZE_AOD);
- ready[0] = null;
- mSensor.sendSensorEvent(1);
- assertTrue(ready[0]);
+ mSensor.sendSensorEvent(2);
+
+ mScreen.transitionTo(DOZE_AOD, DOZE_AOD_PAUSING);
+ mScreen.transitionTo(DOZE_AOD_PAUSING, DOZE_AOD_PAUSED);
+ mScreen.transitionTo(DOZE_AOD_PAUSED, DOZE_AOD);
+
+ assertEquals(0f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */);
}
}
\ No newline at end of file