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

Commit bb9b8d4d authored by Ameer Armaly's avatar Ameer Armaly
Browse files

Add flag for services to request multi-finger gestures.

Bug: 136131815

Test: atest GestureManifoldTest AccessibilityGestureDetectorTest TouchExplorerTest
Change-Id: Ia6eac44f467963856ca7b8ba561794fa5e49b953
parent ab60f20f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2988,6 +2988,7 @@ package android.accessibilityservice {
    field @Deprecated public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
    field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
    field public static final int FLAG_REQUEST_FINGERPRINT_GESTURES = 512; // 0x200
    field public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES = 4096; // 0x1000
    field public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK = 1024; // 0x400
    field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
    field public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS = 64; // 0x40
+12 −0
Original line number Diff line number Diff line
@@ -351,6 +351,16 @@ public class AccessibilityServiceInfo implements Parcelable {
     */
    public static final int FLAG_SERVICE_HANDLES_DOUBLE_TAP = 0x0000800;

    /**
     * This flag requests that when when {@link #FLAG_REQUEST_TOUCH_EXPLORATION_MODE} is enabled,
     * multi-finger gestures are also enabled. As a consequence, two-finger bypass gestures will be
     * disabled. If {@link #FLAG_REQUEST_TOUCH_EXPLORATION_MODE} is disabled this flag has no
     * effect.
     *
     * @see #FLAG_REQUEST_TOUCH_EXPLORATION_MODE
     */
    public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES = 0x0001000;

    /** {@hide} */
    public static final int FLAG_FORCE_DIRECT_BOOT_AWARE = 0x00010000;

@@ -1233,6 +1243,8 @@ public class AccessibilityServiceInfo implements Parcelable {
                return "FLAG_REQUEST_TOUCH_EXPLORATION_MODE";
            case FLAG_SERVICE_HANDLES_DOUBLE_TAP:
                return "FLAG_SERVICE_HANDLES_DOUBLE_TAP";
            case FLAG_REQUEST_MULTI_FINGER_GESTURES:
                return "FLAG_REQUEST_MULTI_FINGER_GESTURES";
            case FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY:
                return "FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY";
            case FLAG_REPORT_VIEW_IDS:
+3 −0
Original line number Diff line number Diff line
@@ -104,6 +104,9 @@ public final class AccessibilityManager {
    /** @hide */
    public static final int STATE_FLAG_DISPATCH_DOUBLE_TAP = 0x00000008;

    /** @hide */
    public static final int STATE_FLAG_REQUEST_MULTI_FINGER_GESTURES = 0x00000010;

    /** @hide */
    public static final int DALTONIZER_DISABLED = -1;

+2 −0
Original line number Diff line number Diff line
@@ -3716,6 +3716,8 @@
            <flag name="flagRequestShortcutWarningDialogSpokenFeedback" value="0x00000400" />
            <!-- Has flag {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_SERVICE_HANDLES_DOUBLE_TAP}. -->
            <flag name="flagServiceHandlesDoubleTap" value="0x00000800" />
            <!-- Has flag {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_REQUEST_MULTI_FINGER_GESTURES}. -->
            <flag name="flagRequestMultiFingerGestures" value="0x00001000" />
        </attr>
        <!-- Component name of an activity that allows the user to modify
             the settings for this service. This setting cannot be changed at runtime. -->
+8 −0
Original line number Diff line number Diff line
@@ -136,6 +136,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ

    private boolean mServiceHandlesDoubleTap;

    private boolean mRequestMultiFingerGestures;

    boolean mRequestFilterKeyEvents;

    boolean mRetrieveInteractiveWindows;
@@ -302,6 +304,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
                & AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE) != 0;
        mServiceHandlesDoubleTap = (info.flags
                & AccessibilityServiceInfo.FLAG_SERVICE_HANDLES_DOUBLE_TAP) != 0;
        mRequestMultiFingerGestures = (info.flags
                & AccessibilityServiceInfo.FLAG_REQUEST_MULTI_FINGER_GESTURES) != 0;
        mRequestFilterKeyEvents = (info.flags
                & AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS) != 0;
        mRetrieveInteractiveWindows = (info.flags
@@ -1697,4 +1701,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    public boolean isServiceHandlesDoubleTapEnabled() {
        return mServiceHandlesDoubleTap;
    }

    public boolean isMultiFingerGesturesEnabled() {
        return mRequestMultiFingerGestures;
    }
}
Loading