Add more enums for the client and process attributes of SystemApi
For the client attribute, we have
- MODULE_APPS for representing APKs implementing modules which are
considered part of the platform
- MODULE_LIBRARIES for representing jars inside modules.
For the process attribute, we have
- SYSTEM_SERVER for representing the system_server process.
For example, @SystemApi(client=MODULE_LIBRARIES,process=ALL) actually
means that the API is meant to be available for classes in the
bootclasspath but not to the classes from the app classloader.
Bug: 140202860
Test: m
Exempt-From-Owner-Approval: cherry-picked from internal
Merged-In: Iba6a564a0967e4d109164849ee6d6500d46469de
(cherry picked from commit 88d5e494c4)
Change-Id: Iba6a564a0967e4d109164849ee6d6500d46469de
This commit is contained in:
@@ -44,9 +44,24 @@ public @interface SystemApi {
|
||||
enum Client {
|
||||
/**
|
||||
* Specifies that the intended clients of a SystemApi are privileged apps.
|
||||
* This is the default value for {@link #client}.
|
||||
* This is the default value for {@link #client}. This implies
|
||||
* MODULE_APPS and MODULE_LIBRARIES as well, which means that APIs will also
|
||||
* be available to module apps and jars.
|
||||
*/
|
||||
PRIVILEGED_APPS,
|
||||
|
||||
/**
|
||||
* Specifies that the intended clients of a SystemApi are modules implemented
|
||||
* as apps, like the NetworkStack app. This implies MODULE_LIBRARIES as well,
|
||||
* which means that APIs will also be available to module jars.
|
||||
*/
|
||||
MODULE_APPS,
|
||||
|
||||
/**
|
||||
* Specifies that the intended clients of a SystemApi are modules implemented
|
||||
* as libraries, like the conscrypt.jar in the conscrypt APEX.
|
||||
*/
|
||||
MODULE_LIBRARIES
|
||||
}
|
||||
|
||||
enum Process {
|
||||
@@ -55,6 +70,11 @@ public @interface SystemApi {
|
||||
* This is the default value for {@link #process}.
|
||||
*/
|
||||
ALL,
|
||||
|
||||
/**
|
||||
* Specifies that the SystemAPI is available only in the system server process.
|
||||
*/
|
||||
SYSTEM_SERVER
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -110,7 +110,7 @@ droidstubs {
|
||||
srcs: [":services-sources"],
|
||||
installable: false,
|
||||
// TODO: remove the --hide options below
|
||||
args: " --show-single-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.INTERNAL,process=android.annotation.SystemApi.Process.SYSTEM_SERVER\\)" +
|
||||
args: " --show-single-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES,process=android.annotation.SystemApi.Process.SYSTEM_SERVER\\)" +
|
||||
" --hide-annotation android.annotation.Hide" +
|
||||
" --hide-package com.google.android.startop.iorap" +
|
||||
" --hide ReferencesHidden" +
|
||||
|
||||
Reference in New Issue
Block a user