From 98bf0b8915a0fee513e13ca23dfa854690541731 Mon Sep 17 00:00:00 2001 From: Tudor Magirescu Date: Wed, 18 Sep 2024 11:29:31 +0000 Subject: Update exemptAidlInterfaces and PermissionAnnotationDetector's message Update the exemptAidlInterfaces set to correspond to the current AOSP set of AIDL Interfaces hosted by system_server. Additionally, change PermissionAnnotationDetector's error message to specify which permission annotations should be used for system_server APIs. Bug: 363248121 Test: PermissionAnnotationDetectorTest Flag: EXEMPT lint check Change-Id: I6577c799480a221e8be22109f1beff4f164052d0 --- .../main/java/com/google/android/lint/aidl/ExemptAidlInterfaces.kt | 5 ++--- .../com/google/android/lint/aidl/PermissionAnnotationDetector.kt | 5 ++++- .../com/google/android/lint/aidl/PermissionAnnotationDetectorTest.kt | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/ExemptAidlInterfaces.kt b/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/ExemptAidlInterfaces.kt index 675a59e6ae3e..caa018d8c013 100644 --- a/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/ExemptAidlInterfaces.kt +++ b/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/ExemptAidlInterfaces.kt @@ -256,7 +256,7 @@ val exemptAidlInterfaces = setOf( "android.devicelock.IGetDeviceIdCallback", "android.devicelock.IGetKioskAppsCallback", "android.devicelock.IIsDeviceLockedCallback", - "android.devicelock.IVoidResultCallback", + "android.devicelock.ILockUnlockDeviceCallback", "android.federatedcompute.aidl.IExampleStoreCallback", "android.federatedcompute.aidl.IExampleStoreIterator", "android.federatedcompute.aidl.IExampleStoreIteratorCallback", @@ -364,8 +364,6 @@ val exemptAidlInterfaces = setOf( "android.health.connect.aidl.IGetPriorityResponseCallback", "android.health.connect.aidl.IHealthConnectService", "android.health.connect.aidl.IInsertRecordsResponseCallback", - "android.health.connect.aidl.IMedicalDataSourceResponseCallback", - "android.health.connect.aidl.IMedicalResourcesResponseCallback", "android.health.connect.aidl.IMigrationCallback", "android.health.connect.aidl.IReadMedicalResourcesResponseCallback", "android.health.connect.aidl.IReadRecordsResponseCallback", @@ -462,6 +460,7 @@ val exemptAidlInterfaces = setOf( "android.net.ipmemorystore.IOnBlobRetrievedListener", "android.net.ipmemorystore.IOnL2KeyResponseListener", "android.net.ipmemorystore.IOnNetworkAttributesRetrievedListener", + "android.net.ipmemorystore.IOnNetworkEventCountRetrievedListener", "android.net.ipmemorystore.IOnSameL3NetworkResponseListener", "android.net.ipmemorystore.IOnStatusAndCountListener", "android.net.ipmemorystore.IOnStatusListener", diff --git a/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/PermissionAnnotationDetector.kt b/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/PermissionAnnotationDetector.kt index d44c271e734c..8d6e32022ae7 100644 --- a/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/PermissionAnnotationDetector.kt +++ b/tools/lint/global/checks/src/main/java/com/google/android/lint/aidl/PermissionAnnotationDetector.kt @@ -57,7 +57,10 @@ class PermissionAnnotationDetector : AidlImplementationDetector() { ISSUE_MISSING_PERMISSION_ANNOTATION, node, context.getLocation(node), - "The method ${node.name} is not permission-annotated." + """ + ${node.name} should be annotated with either @EnforcePermission, \ + @RequiresNoPermission or @PermissionManuallyEnforced. + """.trimMargin() ) } diff --git a/tools/lint/global/checks/src/test/java/com/google/android/lint/aidl/PermissionAnnotationDetectorTest.kt b/tools/lint/global/checks/src/test/java/com/google/android/lint/aidl/PermissionAnnotationDetectorTest.kt index 824be9309dbc..f985d026de16 100644 --- a/tools/lint/global/checks/src/test/java/com/google/android/lint/aidl/PermissionAnnotationDetectorTest.kt +++ b/tools/lint/global/checks/src/test/java/com/google/android/lint/aidl/PermissionAnnotationDetectorTest.kt @@ -73,7 +73,7 @@ class PermissionAnnotationDetectorTest : LintDetectorTest() { .run() .expect( """ - src/frameworks/base/services/java/com/android/server/Bar.java:3: Error: The method testMethod is not permission-annotated. [MissingPermissionAnnotation] + src/frameworks/base/services/java/com/android/server/Bar.java:3: Error: testMethod should be annotated with either @EnforcePermission, @RequiresNoPermission or @PermissionManuallyEnforced. [MissingPermissionAnnotation] public void testMethod(int parameter1, int parameter2) { } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 errors, 0 warnings -- cgit v1.2.3-59-g8ed1b