summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chen Bai <chenbai@google.com> 2024-03-21 20:08:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-03-21 20:08:59 +0000
commitdc95e818b4aef2f64f94e9b7788224ef13168e11 (patch)
tree1d545fa165fc35c3cea8c382cc61ab771d1b37c5
parentb2418a2e6e5ebb79a09efcf31b552cc7e711e3f1 (diff)
parent3f17b539c301a1b1af0704d6824d635c6b4f3532 (diff)
Merge "add unit tests for screen-on blocker when change screen state" into main
-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 740ffc90d785..5842dacbd8f6 100644
--- a/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java
+++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java
@@ -1547,6 +1547,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);