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

Commit ef669624 authored by Hongyu Long's avatar Hongyu Long Committed by Android (Google) Code Review
Browse files

Merge "Magnification: Add isAnyMagnificationActivated method" into main

parents e28c781e 9a588083
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -462,6 +462,15 @@ public class MagnificationController implements MagnificationConnectionManager.C

    @Override
    public boolean isMagnificationActivated(int displayId) {
        return isAnyMagnificationActivated(displayId);
    }

    /**
     * Return {@code true} if either full-screen magnification or window magnification is activated.
     *
     * @param displayId The logical display id
     */
    public boolean isAnyMagnificationActivated(int displayId) {
        return mFullScreenMagnificationController.isActivated(displayId)
                || getMagnificationConnectionManager().isWindowMagnifierEnabled(displayId);
    }
+40 −0
Original line number Diff line number Diff line
@@ -663,6 +663,46 @@ public class MagnificationControllerTest {
        verify(mScaleProvider).onUserChanged(SECOND_USER_ID);
    }

    @Test
    public void isAnyMagnificationActivated_noMagnificationActivatedByDefault_returnFalse() {
        // By default both fullscreen and window magnification are deactivated
        assertThat(mMagnificationController.isAnyMagnificationActivated(TEST_DISPLAY)).isFalse();
    }

    @Test
    public void isAnyMagnificationActivated_activatingFullScreenMagnification_returnTrue()
            throws RemoteException {
        setMagnificationEnabled(MODE_FULLSCREEN);
        assertThat(mMagnificationController.isAnyMagnificationActivated(TEST_DISPLAY)).isTrue();
    }

    @Test
    public void isAnyMagnificationActivated_deactivatingFullScreenMagnification_returnFalse()
            throws RemoteException {
        setMagnificationEnabled(MODE_FULLSCREEN);

        mScreenMagnificationController.reset(TEST_DISPLAY, /* animate= */ false);

        assertThat(mMagnificationController.isAnyMagnificationActivated(TEST_DISPLAY)).isFalse();
    }

    @Test
    public void isAnyMagnificationActivated_activatingWindowMagnification_returnTrue()
            throws RemoteException {
        setMagnificationEnabled(MODE_WINDOW);
        assertThat(mMagnificationController.isAnyMagnificationActivated(TEST_DISPLAY)).isTrue();
    }

    @Test
    public void isAnyMagnificationActivated_deactivatingWindowMagnification_returnFalse()
            throws RemoteException {
        setMagnificationEnabled(MODE_WINDOW);

        mMagnificationConnectionManager.disableWindowMagnification(TEST_DISPLAY, false);

        assertThat(mMagnificationController.isAnyMagnificationActivated(TEST_DISPLAY)).isFalse();
    }

    @Test
    public void onMagnificationRequest_windowMagnifying_disableWindow() throws RemoteException {
        setMagnificationEnabled(MODE_WINDOW);