summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chen Bai <chenbai@google.com> 2024-02-05 15:40:30 -0800
committer Chen Bai <chenbai@google.com> 2024-03-15 21:42:15 +0000
commit3f17b539c301a1b1af0704d6824d635c6b4f3532 (patch)
treec435065aa23d56d02db4d7aa725800367ac33c21
parent29ed1f503f56b002be6444018bd0523b6de5d60f (diff)
add unit tests for screen-on blocker when change screen state
Test: atest DisplayServiceTests:DisplayPowerControllerTest Bug: 316941732 Change-Id: I1f3cf3e859e3ceb0b94ccf40c781513539b93f6d
-rw-r--r--services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java b/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java
index fb2321316e00..d53ad7d2cb4a 100644
--- a/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java
+++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java
@@ -1546,6 +1546,47 @@ public final class DisplayPowerControllerTest {
}
@Test
+ public void testOffloadBlocker_turnON_screenOnBlocked() {
+ // set up.
+ int initState = Display.STATE_OFF;
+ mHolder = createDisplayPowerController(DISPLAY_ID, UNIQUE_ID);
+ mHolder.dpc.setDisplayOffloadSession(mDisplayOffloadSession);
+ // start with OFF.
+ when(mHolder.displayPowerState.getScreenState()).thenReturn(initState);
+ DisplayPowerRequest dpr = new DisplayPowerRequest();
+ dpr.policy = DisplayPowerRequest.POLICY_OFF;
+ mHolder.dpc.requestPowerState(dpr, /* waitForNegativeProximity= */ false);
+ advanceTime(1); // Run updatePowerState
+
+ // go to ON.
+ dpr.policy = DisplayPowerRequest.POLICY_BRIGHT;
+ mHolder.dpc.requestPowerState(dpr, /* waitForNegativeProximity= */ false);
+ advanceTime(1); // Run updatePowerState
+
+ verify(mDisplayOffloadSession).blockScreenOn(any(Runnable.class));
+ }
+
+ @Test
+ public void testOffloadBlocker_turnOFF_screenOnNotBlocked() {
+ // set up.
+ int initState = Display.STATE_ON;
+ mHolder.dpc.setDisplayOffloadSession(mDisplayOffloadSession);
+ // start with ON.
+ when(mHolder.displayPowerState.getScreenState()).thenReturn(initState);
+ DisplayPowerRequest dpr = new DisplayPowerRequest();
+ dpr.policy = DisplayPowerRequest.POLICY_BRIGHT;
+ mHolder.dpc.requestPowerState(dpr, /* waitForNegativeProximity= */ false);
+ advanceTime(1); // Run updatePowerState
+
+ // go to OFF.
+ dpr.policy = DisplayPowerRequest.POLICY_OFF;
+ mHolder.dpc.requestPowerState(dpr, /* waitForNegativeProximity= */ false);
+ advanceTime(1); // Run updatePowerState
+
+ verify(mDisplayOffloadSession, never()).blockScreenOn(any(Runnable.class));
+ }
+
+ @Test
public void testBrightnessFromOffload() {
when(mDisplayManagerFlagsMock.isDisplayOffloadEnabled()).thenReturn(true);
mHolder = createDisplayPowerController(DISPLAY_ID, UNIQUE_ID);