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

Commit 9cb78c19 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "a11y: Update getMagnificationModeLocked in userState" into main

parents edf36b26 b5a49f51
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.accessibilityservice.AccessibilityService.SHOW_MODE_IGNORE
import static android.accessibilityservice.AccessibilityService.SHOW_MODE_MASK;
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_NONE;
import static android.view.Display.DEFAULT_DISPLAY;

import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
@@ -746,7 +747,12 @@ public class AccessibilityUserState {
    public int getMagnificationModeLocked(int displayId) {
        int mode = mMagnificationModes.get(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_NONE);
        if (mode == ACCESSIBILITY_MAGNIFICATION_MODE_NONE) {
            mode = ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
            // If displayId doesn't have a mode, then get mode for DEFAULT_DISPLAY, OR if
            // DEFAULT_DISPLAY also has no mode, fall back directly to
            // ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN.
            mode =
                    mMagnificationModes.get(
                            DEFAULT_DISPLAY, ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
            setMagnificationModeLocked(displayId, mode);
        }
        return mode;
+22 −1
Original line number Diff line number Diff line
@@ -108,7 +108,7 @@ public class AccessibilityUserStateTest {

    private static final int USER_ID = 42;

    private static final int TEST_DISPLAY = Display.DEFAULT_DISPLAY;
    private static final int TEST_DISPLAY = Display.DEFAULT_DISPLAY + 1;

    // Mock package-private class AccessibilityServiceConnection
    @Rule public final DexmakerShareClassLoaderRule mDexmakerShareClassLoaderRule =
@@ -421,6 +421,27 @@ public class AccessibilityUserStateTest {
                mUserState.getMagnificationModeLocked(TEST_DISPLAY));
    }

    @Test
    public void getMagnificationModeLocked_setOnDefaultDisplay_returnExpectedMagnificationMode() {
        mUserState.setMagnificationModeLocked(
                Display.DEFAULT_DISPLAY, ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);

        // If there is no cached magnification mode on TEST_DISPLAY, then it will retrieve the
        // cached mode on default display.
        assertEquals(
                ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW,
                mUserState.getMagnificationModeLocked(TEST_DISPLAY));
    }

    @Test
    public void getMagnificationModeLocked_returnFullScreenMagnificationModeByDefault() {
        // If there is no cached magnification mode on TEST_DISPLAY and on default display, then it
        // will return full screen mode.
        assertEquals(
                ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN,
                mUserState.getMagnificationModeLocked(TEST_DISPLAY));
    }

    @Test
    public void setCursorFollowingMode_returnExpectedCursorFollowingMode() {
        assertEquals(ACCESSIBILITY_MAGNIFICATION_CURSOR_FOLLOWING_MODE_CONTINUOUS,