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

Commit 9a588083 authored by Hongyu Long's avatar Hongyu Long
Browse files

Magnification: Add isAnyMagnificationActivated method

This CL will add a new method we could use to check if full-screen
magnification or window-screen magnification is enabled or not.

Bug: b/432563911
Flag: EXEMPT bugfix
Test: atest MagnificationControllerTest
Change-Id: Ic035c05a066f0a3856c68ed42be095fe369ce5e5
parent c299c67c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -457,6 +457,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);