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

Commit 52626393 authored by Katie Dektar's avatar Katie Dektar
Browse files

Refactor magnification keyboard control to new gantry flag

This moves magnification keyboard pan and zoom to be under
the flag
com.android.server.accessibility.enable_magnification_keyboard_control
instead of
com.android.hardware.input.enable_talkback_and_magnifier_key_gestures.

Both flags are at staging so there is no change in functionality
on most platforms. Overrides new aconfig flag on desktop so that
there is no functionality change there, in separate commit.

Bug: 388847194
Test: Existing
Flag: com.android.server.accessibility.enable_magnification_keyboard_control
Change-Id: I2d800e084b03a8cad5e1b607dc424d3aa7f13975
parent 51de64bc
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ import static android.view.MotionEvent.ACTION_SCROLL;
import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY;
import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY;

import static com.android.hardware.input.Flags.enableTalkbackAndMagnifierKeyGestures;

import android.accessibilityservice.AccessibilityTrace;
import android.annotation.MainThread;
import android.annotation.NonNull;
@@ -758,7 +756,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
            addFirstEventHandler(Display.DEFAULT_DISPLAY, mMouseKeysInterceptor);
        }

        if (enableTalkbackAndMagnifierKeyGestures() && isAnyMagnificationEnabled()) {
        if (Flags.enableMagnificationKeyboardControl() && isAnyMagnificationEnabled()) {
            mMagnificationKeyHandler = new MagnificationKeyHandler(
                    mAms.getMagnificationController());
            addFirstEventHandler(Display.DEFAULT_DISPLAY, mMagnificationKeyHandler);
+2 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.view.Display;
import android.view.KeyEvent;

import com.android.server.accessibility.BaseEventStreamTransformation;
import com.android.server.accessibility.Flags;

/*
 * A class that listens to key presses used to control magnification.
@@ -79,7 +80,7 @@ public class MagnificationKeyHandler extends BaseEventStreamTransformation {

    @Override
    public void onKeyEvent(KeyEvent event, int policyFlags) {
        if (!com.android.hardware.input.Flags.enableTalkbackAndMagnifierKeyGestures()) {
        if (!Flags.enableMagnificationKeyboardControl()) {
            // Send to the rest of the handlers.
            super.onKeyEvent(event, policyFlags);
            return;
+6 −6
Original line number Diff line number Diff line
@@ -20,13 +20,13 @@ import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS;
import static android.view.WindowManagerPolicyConstants.FLAG_PASS_TO_USER;

import static com.android.hardware.input.Flags.FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES;
import static com.android.server.accessibility.AccessibilityInputFilter.FLAG_FEATURE_AUTOCLICK;
import static com.android.server.accessibility.AccessibilityInputFilter.FLAG_FEATURE_CONTROL_SCREEN_MAGNIFIER;
import static com.android.server.accessibility.AccessibilityInputFilter.FLAG_FEATURE_FILTER_KEY_EVENTS;
import static com.android.server.accessibility.AccessibilityInputFilter.FLAG_FEATURE_INJECT_MOTION_EVENTS;
import static com.android.server.accessibility.AccessibilityInputFilter.FLAG_FEATURE_TOUCH_EXPLORATION;
import static com.android.server.accessibility.AccessibilityInputFilter.FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER;
import static com.android.server.accessibility.Flags.FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -191,7 +191,7 @@ public class AccessibilityInputFilterTest {
    }

    @Test
    @RequiresFlagsEnabled(FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    @RequiresFlagsEnabled(FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL)
    public void testEventHandler_shouldIncreaseAndHaveCorrectOrderAfterOnDisplayAdded() {
        prepareLooper();

@@ -248,7 +248,7 @@ public class AccessibilityInputFilterTest {
    }

    @Test
    @RequiresFlagsEnabled(FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    @RequiresFlagsEnabled(FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL)
    public void testEventHandler_shouldHaveCorrectOrderForEventStreamTransformation() {
        prepareLooper();

@@ -274,7 +274,7 @@ public class AccessibilityInputFilterTest {
    }

    @Test
    @RequiresFlagsDisabled(FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    @RequiresFlagsDisabled(FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL)
    public void testEventHandler_shouldHaveCorrectOrderForEventStreamTransformation_noMagKeys() {
        prepareLooper();

@@ -455,7 +455,7 @@ public class AccessibilityInputFilterTest {
    }

    @Test
    @RequiresFlagsEnabled(FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    @RequiresFlagsEnabled(FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL)
    public void testEnabledFeatures_windowMagnificationMode_expectedMagnificationKeyHandler() {
        prepareLooper();
        doReturn(Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW).when(
@@ -468,7 +468,7 @@ public class AccessibilityInputFilterTest {
    }

    @Test
    @RequiresFlagsEnabled(FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    @RequiresFlagsEnabled(FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL)
    public void testEnabledFeatures_fullscreenMagnificationMode_expectedMagnificationKeyHandler() {
        prepareLooper();
        doReturn(Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN).when(
+2 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.server.accessibility.magnification;

import static com.android.hardware.input.Flags.FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES;
import static com.android.server.accessibility.Flags.FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL;
import static com.android.server.accessibility.magnification.MagnificationController.PAN_DIRECTION_DOWN;
import static com.android.server.accessibility.magnification.MagnificationController.PAN_DIRECTION_LEFT;
import static com.android.server.accessibility.magnification.MagnificationController.PAN_DIRECTION_RIGHT;
@@ -50,7 +50,7 @@ import org.mockito.MockitoAnnotations;
 * Tests for {@link MagnificationKeyHandler}.
 */
@RunWith(AndroidJUnit4.class)
@RequiresFlagsEnabled(FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
@RequiresFlagsEnabled(FLAG_ENABLE_MAGNIFICATION_KEYBOARD_CONTROL)
public class MagnificationKeyHandlerTest {

    @Rule