Make @RequiresPermission RetentionPolicy.CLASS.

As part of Error Prone checks, we're now placing these annotations
directly on AIDL interfaces.  However, many portions of the OS are
built using prebuilt AIDL files, where RetentionPolicy.SOURCE
annotations have been stripped away.

To retain these annotations for aiding permission enforcement
checks, this change upgrades to RetentionPolicy.CLASS.

Bug: 183626724
Test: ./build/soong/soong_ui.bash --make-mode Bluetooth RUN_ERROR_PRONE=true
Change-Id: Ic88cbf470efc1d50926fe2ff16f0e2f6cd7b1173
This commit is contained in:
Jeff Sharkey
2021-04-15 07:55:07 -06:00
parent 4acdb1beff
commit 6f2b69d362

View File

@@ -20,7 +20,7 @@ import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import static java.lang.annotation.RetentionPolicy.CLASS;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -76,7 +76,7 @@ import java.lang.annotation.Target;
*
* @hide
*/
@Retention(SOURCE)
@Retention(CLASS)
@Target({ANNOTATION_TYPE,METHOD,CONSTRUCTOR,FIELD,PARAMETER})
public @interface RequiresPermission {
/**