Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc95e818 authored by Chen Bai's avatar Chen Bai Committed by Android (Google) Code Review
Browse files

Merge "add unit tests for screen-on blocker when change screen state" into main

parents b2418a2e 3f17b539
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
@@ -1546,6 +1546,47 @@ public final class DisplayPowerControllerTest {
        verify(mHolder.displayPowerState, never()).setScreenState(anyInt());
    }

    @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);