Enable PermissionAnnotationDetector for services.accessibility

Enable the linter and capture the current status by annotating Stub
classes with @SuppressWarnings.

The intent of this series of change is to ensure that all exposed Binder
methods from system_server are annotated. Service owners can start using
the following annotations on each method:
- @EnforcePermission, if a permission is required. The same annotation
  will be defined on the AIDL interface definition.
- @RequiresNoPermission, if no permission is required.
- @PermissionManuallyEnforced, if a specific mechanism to enforce
  permission is required.

See go/aidl-enforce-howto for more background information and details on
how to migrate interfaces.

Test: m lint-check
Bug: 220214993
Change-Id: I4a6a48545251dfccad4464bb76a219005d7633b2
This commit is contained in:
Thiébaud Weksteen 2023-12-04 11:32:10 +11:00
parent 2559674daf
commit 39b25def8e
11 changed files with 13 additions and 0 deletions

View File

@ -19,6 +19,9 @@ java_library_static {
defaults: [
"platform_service_defaults",
],
lint: {
error_checks: ["MissingPermissionAnnotation"],
},
srcs: [
":services.accessibility-sources",
"//frameworks/base/packages/SettingsLib/RestrictedLockUtils:SettingsLibRestrictedLockUtilsSrc",

View File

@ -118,6 +118,7 @@ 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 {

View File

@ -57,6 +57,7 @@ import java.util.StringJoiner;
*
* NOTE: This class has to be created and poked only from the main thread.
*/
@SuppressWarnings("MissingPermissionAnnotation")
class AccessibilityInputFilter extends InputFilter implements EventStreamTransformation {
private static final String TAG = AccessibilityInputFilter.class.getSimpleName();

View File

@ -195,6 +195,7 @@ import java.util.function.Predicate;
* event dispatch for {@link AccessibilityEvent}s generated across all processes
* on the device. Events are dispatched to {@link AccessibilityService}s.
*/
@SuppressWarnings("MissingPermissionAnnotation")
public class AccessibilityManagerService extends IAccessibilityManager.Stub
implements AbstractAccessibilityServiceConnection.SystemSupport,
AccessibilityUserState.ServiceInfoChangeListener,

View File

@ -65,6 +65,7 @@ import java.util.Set;
* passed to the service it represents as soon it is bound. It also serves as the
* connection for the service.
*/
@SuppressWarnings("MissingPermissionAnnotation")
class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnection {
private static final String LOG_TAG = "AccessibilityServiceConnection";

View File

@ -34,6 +34,7 @@ import java.util.List;
* If we are stripping and/or replacing the actions from a window, we need to intercept the
* nodes heading back to the service and swap out the actions.
*/
@SuppressWarnings("MissingPermissionAnnotation")
public class ActionReplacingCallback extends IAccessibilityInteractionConnectionCallback.Stub {
private static final boolean DEBUG = false;
private static final String LOG_TAG = "ActionReplacingCallback";

View File

@ -33,6 +33,7 @@ import java.util.List;
/**
* Encapsulate fingerprint gesture logic
*/
@SuppressWarnings("MissingPermissionAnnotation")
public class FingerprintGestureDispatcher extends IFingerprintClientActiveCallback.Stub
implements Handler.Callback{
private static final int MSG_REGISTER = 1;

View File

@ -64,6 +64,7 @@ import java.util.Set;
*
* TODO(241429275): Initialize this when a proxy is registered.
*/
@SuppressWarnings("MissingPermissionAnnotation")
public class ProxyAccessibilityServiceConnection extends AccessibilityServiceConnection {
private static final String LOG_TAG = "ProxyAccessibilityServiceConnection";

View File

@ -245,6 +245,7 @@ class UiAutomationManager {
}
}
@SuppressWarnings("MissingPermissionAnnotation")
private class UiAutomationService extends AbstractAccessibilityServiceConnection {
private final Handler mMainHandler;

View File

@ -922,6 +922,7 @@ public class MagnificationConnectionManager implements
disableWindowMagnification(displayId, true);
}
@SuppressWarnings("MissingPermissionAnnotation")
private class ConnectionCallback extends IMagnificationConnectionCallback.Stub implements
IBinder.DeathRecipient {
private boolean mExpiredDeathRecipient = false;

View File

@ -246,6 +246,7 @@ class MagnificationConnectionWrapper {
return new RemoteAnimationCallback(callback, trace);
}
@SuppressWarnings("MissingPermissionAnnotation")
private static class RemoteAnimationCallback extends
IRemoteMagnificationAnimationCallback.Stub {
private final MagnificationAnimationCallback mCallback;