summaryrefslogtreecommitdiff
path: root/core/java/android/annotation/SystemApi.java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-12-16 14:33:43 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-12-16 14:33:43 +0000
commitb4f91be235d30470a1f527bead5d95dff07dbd8e (patch)
tree3fa261ebbd97a492f4a0fef1705c52ebaaa024a1 /core/java/android/annotation/SystemApi.java
parent2753e74828bc6e9534c9a6ec368911e80249f7ed (diff)
parent119afc0695cf7632700119bab62a965793c34fd1 (diff)
Merge "SystemApi is parameterized"
Diffstat (limited to 'core/java/android/annotation/SystemApi.java')
-rw-r--r--core/java/android/annotation/SystemApi.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/annotation/SystemApi.java b/core/java/android/annotation/SystemApi.java
index e96ff01d0850..f589cc5704b4 100644
--- a/core/java/android/annotation/SystemApi.java
+++ b/core/java/android/annotation/SystemApi.java
@@ -41,4 +41,29 @@ import java.lang.annotation.Target;
@Target({TYPE, FIELD, METHOD, CONSTRUCTOR, ANNOTATION_TYPE, PACKAGE})
@Retention(RetentionPolicy.RUNTIME)
public @interface SystemApi {
+ enum Client {
+ /**
+ * Specifies that the intended clients of a SystemApi are privileged apps.
+ * This is the default value for {@link #client}.
+ */
+ PRIVILEGED_APPS,
+ }
+
+ enum Process {
+ /**
+ * Specifies that the SystemAPI is available in every Java processes.
+ * This is the default value for {@link #process}.
+ */
+ ALL,
+ }
+
+ /**
+ * The intended client of this SystemAPI.
+ */
+ Client client() default android.annotation.SystemApi.Client.PRIVILEGED_APPS;
+
+ /**
+ * The process(es) that this SystemAPI is available
+ */
+ Process process() default android.annotation.SystemApi.Process.ALL;
}