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

Commit 5f1176df authored by Ameer Armaly's avatar Ameer Armaly Committed by Android (Google) Code Review
Browse files

Merge "Add permission annotations for IAccessibilityServiceConnection." into main

parents 242d628b 126a3921
Loading
Loading
Loading
Loading
+63 −5
Original line number Diff line number Diff line
@@ -43,131 +43,189 @@ import android.window.ScreenCapture;
 */
interface IAccessibilityServiceConnection {

    @RequiresNoPermission
    void setServiceInfo(in AccessibilityServiceInfo info);

    @RequiresNoPermission
    void setAttributionTag(in String attributionTag);

    @RequiresNoPermission
    String[] findAccessibilityNodeInfoByAccessibilityId(int accessibilityWindowId,
        long accessibilityNodeId, int interactionId,
        IAccessibilityInteractionConnectionCallback callback, int flags, long threadId,
        in Bundle arguments);

    @RequiresNoPermission
    String[] findAccessibilityNodeInfosByText(int accessibilityWindowId, long accessibilityNodeId,
        String text, int interactionId, IAccessibilityInteractionConnectionCallback callback,
        long threadId);

    @RequiresNoPermission
    String[] findAccessibilityNodeInfosByViewId(int accessibilityWindowId,
        long accessibilityNodeId, String viewId, int interactionId,
        IAccessibilityInteractionConnectionCallback callback, long threadId);

    @RequiresNoPermission
    String[] findFocus(int accessibilityWindowId, long accessibilityNodeId, int focusType,
        int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId);

    @RequiresNoPermission
    String[] focusSearch(int accessibilityWindowId, long accessibilityNodeId, int direction,
        int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId);

    @RequiresNoPermission
    boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId,
        int action, in Bundle arguments, int interactionId,
        IAccessibilityInteractionConnectionCallback callback, long threadId);

    @RequiresNoPermission
    AccessibilityWindowInfo getWindow(int windowId);

    @RequiresNoPermission
    AccessibilityWindowInfo.WindowListSparseArray getWindows();

    @RequiresNoPermission
    AccessibilityServiceInfo getServiceInfo();

    @RequiresNoPermission
    boolean performGlobalAction(int action);

    @RequiresNoPermission
    List<AccessibilityNodeInfo.AccessibilityAction> getSystemActions();

    @RequiresNoPermission
    void disableSelf();

    @RequiresNoPermission
    oneway void setOnKeyEventResult(boolean handled, int sequence);

    @RequiresNoPermission
    MagnificationConfig getMagnificationConfig(int displayId);

    @RequiresNoPermission
    float getMagnificationScale(int displayId);

    @RequiresNoPermission
    float getMagnificationCenterX(int displayId);

    @RequiresNoPermission
    float getMagnificationCenterY(int displayId);

    @RequiresNoPermission
    Region getMagnificationRegion(int displayId);

    @RequiresNoPermission
    Region getCurrentMagnificationRegion(int displayId);

    @RequiresNoPermission
    boolean resetMagnification(int displayId, boolean animate);

    @RequiresNoPermission
    boolean resetCurrentMagnification(int displayId, boolean animate);

    @RequiresNoPermission
    boolean setMagnificationConfig(int displayId, in MagnificationConfig config, boolean animate);

    @RequiresNoPermission
    void setMagnificationCallbackEnabled(int displayId, boolean enabled);

    @RequiresNoPermission
    boolean setSoftKeyboardShowMode(int showMode);

    @RequiresNoPermission
    int getSoftKeyboardShowMode();

    @RequiresNoPermission
    void setSoftKeyboardCallbackEnabled(boolean enabled);

    @RequiresNoPermission
        boolean switchToInputMethod(String imeId);

    @RequiresNoPermission
        int setInputMethodEnabled(String imeId, boolean enabled);

    @RequiresNoPermission
    boolean isAccessibilityButtonAvailable();

    @RequiresNoPermission
    void sendGesture(int sequence, in ParceledListSlice gestureSteps);

    @RequiresNoPermission
    void dispatchGesture(int sequence, in ParceledListSlice gestureSteps, int displayId);

    @RequiresNoPermission
    boolean isFingerprintGestureDetectionAvailable();

    @RequiresNoPermission
    IBinder getOverlayWindowToken(int displayid);

    @RequiresNoPermission
    int getWindowIdForLeashToken(IBinder token);

    @RequiresNoPermission
    void takeScreenshot(int displayId, in RemoteCallback callback);

    @RequiresNoPermission
    void takeScreenshotOfWindow(int accessibilityWindowId, int interactionId,
        in ScreenCapture.ScreenCaptureListener listener,
        IAccessibilityInteractionConnectionCallback callback);

    @RequiresNoPermission
    void setGestureDetectionPassthroughRegion(int displayId, in Region region);

    @RequiresNoPermission
    void setTouchExplorationPassthroughRegion(int displayId, in Region region);

    @RequiresNoPermission
    void setFocusAppearance(int strokeWidth, int color);

    @RequiresNoPermission
    void setCacheEnabled(boolean enabled);

    @RequiresNoPermission
    oneway void logTrace(long timestamp, String where, long loggingTypes, String callingParams,
        int processId, long threadId, int callingUid, in Bundle serializedCallingStackInBundle);

    @RequiresNoPermission
    void setServiceDetectsGesturesEnabled(int displayId, boolean mode);

    @RequiresNoPermission
    void requestTouchExploration(int displayId);

    @RequiresNoPermission
    void requestDragging(int displayId, int pointerId);

    @RequiresNoPermission
    void requestDelegating(int displayId);

    @RequiresNoPermission
    void onDoubleTap(int displayId);

    @RequiresNoPermission
    void onDoubleTapAndHold(int displayId);

    @RequiresNoPermission
    void setAnimationScale(float scale);

    @RequiresNoPermission
    void setInstalledAndEnabledServices(in List<AccessibilityServiceInfo> infos);

    @RequiresNoPermission
        List<AccessibilityServiceInfo> getInstalledAndEnabledServices();

    @RequiresNoPermission
    void attachAccessibilityOverlayToDisplay(int interactionId, int displayId, in SurfaceControl sc, IAccessibilityInteractionConnectionCallback callback);

    @RequiresNoPermission
    void attachAccessibilityOverlayToWindow(int interactionId, int accessibilityWindowId, in SurfaceControl sc, IAccessibilityInteractionConnectionCallback callback);

    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)")
    @EnforcePermission("BLUETOOTH_CONNECT")
    void connectBluetoothBrailleDisplay(in String bluetoothAddress, in IBrailleDisplayController controller);


    @RequiresNoPermission
    void connectUsbBrailleDisplay(in UsbDevice usbDevice, in IBrailleDisplayController controller);

    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY)")
    @EnforcePermission("MANAGE_ACCESSIBILITY")
    void setTestBrailleDisplayData(in List<Bundle> brailleDisplays);
}
 No newline at end of file
+18 −5
Original line number Diff line number Diff line
@@ -21,7 +21,9 @@ import android.accessibilityservice.AccessibilityServiceInfo;
import android.accessibilityservice.IAccessibilityServiceConnection;
import android.accessibilityservice.IBrailleDisplayController;
import android.accessibilityservice.MagnificationConfig;
import android.annotation.EnforcePermission;
import android.annotation.NonNull;
import android.annotation.RequiresNoPermission;
import android.content.pm.ParceledListSlice;
import android.graphics.Region;
import android.hardware.usb.UsbDevice;
@@ -216,16 +218,19 @@ public class AccessibilityServiceConnectionImpl extends IAccessibilityServiceCon

    public void setAnimationScale(float scale) {}

    @RequiresNoPermission
    @Override
    public void setInstalledAndEnabledServices(List<AccessibilityServiceInfo> infos)
            throws RemoteException {
    }

    @RequiresNoPermission
    @Override
    public List<AccessibilityServiceInfo> getInstalledAndEnabledServices() throws RemoteException {
        return null;
    }

    @RequiresNoPermission
    @Override
    public void attachAccessibilityOverlayToDisplay(
            int interactionId,
@@ -233,6 +238,7 @@ public class AccessibilityServiceConnectionImpl extends IAccessibilityServiceCon
            SurfaceControl sc,
            IAccessibilityInteractionConnectionCallback callback) {}

    @RequiresNoPermission
    @Override
    public void attachAccessibilityOverlayToWindow(
            int interactionId,
@@ -240,14 +246,21 @@ public class AccessibilityServiceConnectionImpl extends IAccessibilityServiceCon
            SurfaceControl sc,
            IAccessibilityInteractionConnectionCallback callback) {}

    @EnforcePermission(android.Manifest.permission.BLUETOOTH_CONNECT)
    @Override
    public void connectBluetoothBrailleDisplay(String bluetoothAddress,
            IBrailleDisplayController controller) {}
    public void connectBluetoothBrailleDisplay(
            String bluetoothAddress, IBrailleDisplayController controller) {
        connectBluetoothBrailleDisplay_enforcePermission();
    }

    @RequiresNoPermission
    @Override
    public void connectUsbBrailleDisplay(UsbDevice usbDevice,
            IBrailleDisplayController controller) {}
    public void connectUsbBrailleDisplay(
            UsbDevice usbDevice, IBrailleDisplayController controller) {}

    @EnforcePermission(android.Manifest.permission.MANAGE_ACCESSIBILITY)
    @Override
    public void setTestBrailleDisplayData(List<Bundle> brailleDisplays) {}
    public void setTestBrailleDisplayData(List<Bundle> brailleDisplays) {
        setTestBrailleDisplayData_enforcePermission();
    }
}
+59 −4
Original line number Diff line number Diff line
@@ -44,10 +44,12 @@ import android.accessibilityservice.IAccessibilityServiceClient;
import android.accessibilityservice.IAccessibilityServiceConnection;
import android.accessibilityservice.IBrailleDisplayController;
import android.accessibilityservice.MagnificationConfig;
import android.annotation.EnforcePermission;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.annotation.PermissionManuallyEnforced;
import android.annotation.RequiresNoPermission;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
@@ -68,6 +70,7 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.PermissionEnforcer;
import android.os.PowerManager;
import android.os.RemoteCallback;
import android.os.RemoteException;
@@ -121,7 +124,6 @@ import java.util.Set;
 * This class represents an accessibility client - either an AccessibilityService or a UiAutomation.
 * It is responsible for behavior common to both types of clients.
 */
@SuppressWarnings("MissingPermissionAnnotation")
abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServiceConnection.Stub
        implements ServiceConnection, IBinder.DeathRecipient, KeyEventDispatcher.KeyEventFilter,
        FingerprintGestureDispatcher.FingerprintGestureClient {
@@ -339,6 +341,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
            AccessibilityTrace trace, WindowManagerInternal windowManagerInternal,
            SystemActionPerformer systemActionPerfomer,
            AccessibilityWindowManager a11yWindowManager) {
        super(PermissionEnforcer.fromContext(context));
        mContext = context;
        mWindowManagerService = windowManagerInternal;
        mId = id;
@@ -469,6 +472,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return (mEventTypes != 0 && mService != null);
    }

    @RequiresNoPermission
    @Override
    public void setOnKeyEventResult(boolean handled, int sequence) {
        if (svcConnTracingEnabled()) {
@@ -482,6 +486,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public AccessibilityServiceInfo getServiceInfo() {
        if (svcConnTracingEnabled()) {
@@ -501,6 +506,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
                : AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) | mEventTypes;
    }

    @RequiresNoPermission
    @Override
    public void setServiceInfo(AccessibilityServiceInfo info) {
        if (svcConnTracingEnabled()) {
@@ -536,16 +542,19 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void setInstalledAndEnabledServices(List<AccessibilityServiceInfo> infos) {
        return;
    }

    @RequiresNoPermission
    @Override
    public List<AccessibilityServiceInfo> getInstalledAndEnabledServices() {
        return null;
    }

    @RequiresNoPermission
    @Override
    public void setAttributionTag(String attributionTag) {
        mAttributionTag = attributionTag;
@@ -558,6 +567,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    protected abstract boolean hasRightsToCurrentUserLocked();

    @Nullable
    @RequiresNoPermission
    @Override
    public AccessibilityWindowInfo.WindowListSparseArray getWindows() {
        if (svcConnTracingEnabled()) {
@@ -606,6 +616,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        mDisplayTypes = displayTypes;
    }

    @RequiresNoPermission
    @Override
    public AccessibilityWindowInfo getWindow(int windowId) {
        if (svcConnTracingEnabled()) {
@@ -646,6 +657,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public String[] findAccessibilityNodeInfosByViewId(int accessibilityWindowId,
            long accessibilityNodeId, String viewIdResName, int interactionId,
@@ -722,6 +734,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return null;
    }

    @RequiresNoPermission
    @Override
    public String[] findAccessibilityNodeInfosByText(int accessibilityWindowId,
            long accessibilityNodeId, String text, int interactionId,
@@ -797,6 +810,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return null;
    }

    @RequiresNoPermission
    @Override
    public String[] findAccessibilityNodeInfoByAccessibilityId(
            int accessibilityWindowId, long accessibilityNodeId, int interactionId,
@@ -875,6 +889,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return null;
    }

    @RequiresNoPermission
    @Override
    public String[] findFocus(int accessibilityWindowId, long accessibilityNodeId,
            int focusType, int interactionId,
@@ -952,6 +967,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return null;
    }

    @RequiresNoPermission
    @Override
    public String[] focusSearch(int accessibilityWindowId, long accessibilityNodeId,
            int direction, int interactionId,
@@ -1028,6 +1044,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return null;
    }

    @RequiresNoPermission
    @Override
    public void sendGesture(int sequence, ParceledListSlice gestureSteps) {
        if (svcConnTracingEnabled()) {
@@ -1036,6 +1053,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void dispatchGesture(int sequence, ParceledListSlice gestureSteps, int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1044,6 +1062,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public boolean performAccessibilityAction(int accessibilityWindowId,
            long accessibilityNodeId, int action, Bundle arguments, int interactionId,
@@ -1075,6 +1094,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
                action, arguments, interactionId, callback, mFetchFlags, interrogatingTid);
    }

    @RequiresNoPermission
    @Override
    public boolean performGlobalAction(int action) {
        if (svcConnTracingEnabled()) {
@@ -1093,6 +1113,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public @NonNull List<AccessibilityNodeInfo.AccessibilityAction> getSystemActions() {
        if (svcConnTracingEnabled()) {
@@ -1111,6 +1132,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public boolean isFingerprintGestureDetectionAvailable() {
        if (svcConnTracingEnabled()) {
@@ -1133,6 +1155,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    }

    @Nullable
    @RequiresNoPermission
    @Override
    public MagnificationConfig getMagnificationConfig(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1151,6 +1174,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public float getMagnificationScale(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1169,6 +1193,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public Region getMagnificationRegion(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1193,6 +1218,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    }


    @RequiresNoPermission
    @Override
    public Region getCurrentMagnificationRegion(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1216,6 +1242,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public float getMagnificationCenterX(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1237,6 +1264,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public float getMagnificationCenterY(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1258,6 +1286,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public boolean resetMagnification(int displayId, boolean animate) {
        if (svcConnTracingEnabled()) {
@@ -1282,6 +1311,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public boolean resetCurrentMagnification(int displayId, boolean animate) {
        if (svcConnTracingEnabled()) {
@@ -1307,6 +1337,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public boolean setMagnificationConfig(int displayId,
            @NonNull MagnificationConfig config, boolean animate) {
@@ -1333,6 +1364,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void setMagnificationCallbackEnabled(int displayId, boolean enabled) {
        if (svcConnTracingEnabled()) {
@@ -1351,6 +1383,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return mInvocationHandler.isMagnificationCallbackEnabled(displayId);
    }

    @RequiresNoPermission
    @Override
    public void setSoftKeyboardCallbackEnabled(boolean enabled) {
        if (svcConnTracingEnabled()) {
@@ -1364,6 +1397,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void takeScreenshotOfWindow(int accessibilityWindowId, int interactionId,
            ScreenCapture.ScreenCaptureListener listener,
@@ -1414,6 +1448,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void takeScreenshot(int displayId, RemoteCallback callback) {
        if (svcConnTracingEnabled()) {
@@ -1553,6 +1588,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    }

    @Override
    @PermissionManuallyEnforced
    public void dump(FileDescriptor fd, final PrintWriter pw, String[] args) {
        if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, pw)) return;
        synchronized (mLock) {
@@ -1649,6 +1685,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
     * @param displayId The id of the logical display that was added.
     * @return window token.
     */
    @RequiresNoPermission
    @Override
    public IBinder getOverlayWindowToken(int displayId) {
        if (svcConnTracingEnabled()) {
@@ -1670,6 +1707,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
     * @param token The token
     * @return window id
     */
    @RequiresNoPermission
    @Override
    public int getWindowIdForLeashToken(@NonNull IBinder token) {
        if (svcConnTracingEnabled()) {
@@ -2523,6 +2561,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return mSendMotionEvents;
    }

    @RequiresNoPermission
    @Override
    public void setGestureDetectionPassthroughRegion(int displayId, Region region) {
        if (svcConnTracingEnabled()) {
@@ -2537,6 +2576,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void setTouchExplorationPassthroughRegion(int displayId, Region region) {
        if (svcConnTracingEnabled()) {
@@ -2551,6 +2591,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void setFocusAppearance(int strokeWidth, int color) {
        if (svcConnTracingEnabled()) {
@@ -2558,6 +2599,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void setCacheEnabled(boolean enabled) {
        if (svcConnTracingEnabled()) {
@@ -2574,6 +2616,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void logTrace(long timestamp, String where, long loggingTypes, String callingParams,
            int processId, long threadId, int callingUid, Bundle callingStack) {
@@ -2629,6 +2672,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        mTrace.logTrace(TRACE_WM + "." + methodName, FLAGS_WINDOW_MANAGER_INTERNAL, params);
    }

    @RequiresNoPermission
    @Override
    public void setServiceDetectsGesturesEnabled(int displayId, boolean mode) {
        final long identity = Binder.clearCallingIdentity();
@@ -2647,6 +2691,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        return false;
    }

    @RequiresNoPermission
    @Override
    public void requestTouchExploration(int displayId) {
        final long identity = Binder.clearCallingIdentity();
@@ -2657,6 +2702,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void requestDragging(int displayId, int pointerId) {
        final long identity = Binder.clearCallingIdentity();
@@ -2667,6 +2713,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void requestDelegating(int displayId) {
        final long identity = Binder.clearCallingIdentity();
@@ -2677,6 +2724,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void onDoubleTap(int displayId) {
        final long identity = Binder.clearCallingIdentity();
@@ -2687,6 +2735,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void onDoubleTapAndHold(int displayId) {
        final long identity = Binder.clearCallingIdentity();
@@ -2700,6 +2749,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    /**
     * Sets the scaling factor for animations.
     */
    @RequiresNoPermission
    @Override
    public void setAnimationScale(float scale) {
        final long identity = Binder.clearCallingIdentity();
@@ -2717,6 +2767,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void attachAccessibilityOverlayToDisplay(
            int interactionId,
@@ -2733,6 +2784,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
    }

    @RequiresNoPermission
    @Override
    public void attachAccessibilityOverlayToWindow(
            int interactionId,
@@ -2779,12 +2831,14 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    }

    @Override
    @SuppressLint("AndroidFrameworkRequiresPermission") // Unsupported in Abstract class
    @EnforcePermission(android.Manifest.permission.BLUETOOTH_CONNECT)
    public void connectBluetoothBrailleDisplay(String bluetoothAddress,
            IBrailleDisplayController controller) {
        connectBluetoothBrailleDisplay_enforcePermission();
        throw new UnsupportedOperationException();
    }

    @RequiresNoPermission
    @Override
    public void connectUsbBrailleDisplay(UsbDevice usbDevice,
            IBrailleDisplayController controller) {
@@ -2792,8 +2846,9 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    }

    @Override
    @SuppressLint("AndroidFrameworkRequiresPermission") // Unsupported in Abstract class
    @EnforcePermission(android.Manifest.permission.MANAGE_ACCESSIBILITY)
    public void setTestBrailleDisplayData(List<Bundle> brailleDisplays) {
        setTestBrailleDisplayData_enforcePermission();
        throw new UnsupportedOperationException();
    }
}
+17 −10

File changed.

Preview size limit exceeded, changes collapsed.

+48 −1

File changed.

Preview size limit exceeded, changes collapsed.

Loading