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

Commit f2b3b64b authored by David Padlipsky's avatar David Padlipsky Committed by Android (Google) Code Review
Browse files

Merge "Create new flag to separate talkback and magnifier shortcut changes" into main

parents f12edb18 4cacbc87
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ flag {
flag {
  name: "keyboard_a11y_shortcut_control"
  namespace: "input"
  description: "Adds shortcuts to toggle and control a11y features"
  description: "Adds shortcuts to toggle and control a11y keyboard features"
  bug: "373458181"
}

@@ -165,3 +165,10 @@ flag {
  description: "Turns three-finger touchpad taps into a customizable shortcut."
  bug: "365063048"
}

flag {
  name: "enable_talkback_and_magnifier_key_gestures"
  namespace: "input"
  description: "Adds key gestures for talkback and magnifier"
  bug: "375277034"
}
 No newline at end of file
+7 −5
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package com.android.server.input;

import static android.hardware.input.InputGestureData.createKeyTrigger;

import static com.android.hardware.input.Flags.enableTalkbackAndMagnifierKeyGestures;
import static com.android.hardware.input.Flags.keyboardA11yShortcutControl;
import static com.android.server.flags.Flags.newBugreportKeyboardShortcut;
import static com.android.window.flags.Flags.enableMoveToNextDisplayShortcut;
@@ -209,12 +211,12 @@ final class InputGestureManager {
                    KeyGestureEvent.KEY_GESTURE_TYPE_MOVE_TO_NEXT_DISPLAY
            ));
        }
        if (keyboardA11yShortcutControl()) {
            systemShortcuts.add(createKeyGesture(
                    KeyEvent.KEYCODE_T,
        if (enableTalkbackAndMagnifierKeyGestures()) {
            systemShortcuts.add(createKeyGesture(KeyEvent.KEYCODE_T,
                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON,
                    KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK
            ));
                    KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK));
        }
        if (keyboardA11yShortcutControl()) {
            if (InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
                systemShortcuts.add(createKeyGesture(
                        KeyEvent.KEYCODE_3,
+4 −3
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ import static android.view.WindowManagerGlobal.ADD_PERMISSION_DENIED;
import static android.view.contentprotection.flags.Flags.createAccessibilityOverlayAppOpEnabled;

import static com.android.hardware.input.Flags.emojiAndScreenshotKeycodesAvailable;
import static com.android.hardware.input.Flags.enableTalkbackAndMagnifierKeyGestures;
import static com.android.hardware.input.Flags.keyboardA11yShortcutControl;
import static com.android.hardware.input.Flags.modifierShortcutDump;
import static com.android.hardware.input.Flags.useKeyGestureEventHandler;
@@ -3612,7 +3613,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                }
                break;
            case KeyEvent.KEYCODE_T:
                if (keyboardA11yShortcutControl()) {
                if (enableTalkbackAndMagnifierKeyGestures()) {
                    if (firstDown && event.isMetaPressed() && event.isAltPressed()) {
                        mTalkbackShortcutController.toggleTalkback(mCurrentUserId,
                                TalkbackShortcutController.ShortcutSource.KEYBOARD);
@@ -4112,7 +4113,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                        return mDefaultDisplayPolicy.isAwake() && mAccessibilityShortcutController
                                .isAccessibilityShortcutAvailable(false);
                    case KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK:
                        return keyboardA11yShortcutControl();
                        return enableTalkbackAndMagnifierKeyGestures();
                    case KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_SLOW_KEYS:
                        return InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()
                                && keyboardA11yShortcutControl();
@@ -4345,7 +4346,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                }
                return true;
            case KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK:
                if (keyboardA11yShortcutControl()) {
                if (enableTalkbackAndMagnifierKeyGestures()) {
                    if (complete) {
                        mTalkbackShortcutController.toggleTalkback(mCurrentUserId,
                                TalkbackShortcutController.ShortcutSource.KEYBOARD);
+2 −2
Original line number Diff line number Diff line
@@ -397,7 +397,7 @@ public class KeyGestureEventTests extends ShortcutKeyTestBase {
    }

    @Test
    @EnableFlags(Flags.FLAG_KEYBOARD_A11Y_SHORTCUT_CONTROL)
    @EnableFlags(Flags.FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    @DisableFlags(com.android.hardware.input.Flags.FLAG_USE_KEY_GESTURE_EVENT_HANDLER)
    public void testToggleTalkbackPress() {
        testShortcutInternal("Meta + Alt + T -> Toggle talkback",
@@ -745,7 +745,7 @@ public class KeyGestureEventTests extends ShortcutKeyTestBase {
    }

    @Test
    @EnableFlags(com.android.hardware.input.Flags.FLAG_KEYBOARD_A11Y_SHORTCUT_CONTROL)
    @EnableFlags(com.android.hardware.input.Flags.FLAG_ENABLE_TALKBACK_AND_MAGNIFIER_KEY_GESTURES)
    public void testKeyGestureToggleTalkback() {
        Assert.assertTrue(
                sendKeyGestureEventComplete(KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK));