Add PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES API

This string allows apps add a network_capabilities.xml resource to the
AndroidManifest.xml.

The network_capabilities.xml file will allow application developers to
request for a network capabilities that they want their application to
be able to use. The available capabilities are defined in
ApplicationNetworkCapabilities.java.

Test: atest FrameworksNetTests CtsHostsideNetworkTests
Bug: 266524688
Change-Id: I36e73f8eb02d9c58cdbb9763b188d68eac9e9ccb
Merged-In: I99b0698748af3cfafa0ff84df0454584dbad88b1
This commit is contained in:
Yuyang Huang
2023-01-25 17:47:09 +09:00
parent 4a89fb33f4
commit 6b291909ea
2 changed files with 24 additions and 0 deletions

View File

@@ -12079,6 +12079,7 @@ package android.content.pm {
field public static final int PERMISSION_DENIED = -1; // 0xffffffff
field public static final int PERMISSION_GRANTED = 0; // 0x0
field public static final String PROPERTY_MEDIA_CAPABILITIES = "android.media.PROPERTY_MEDIA_CAPABILITIES";
field public static final String PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES = "android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES";
field public static final int SIGNATURE_FIRST_NOT_SIGNED = -1; // 0xffffffff
field public static final int SIGNATURE_MATCH = 0; // 0x0
field public static final int SIGNATURE_NEITHER_SIGNED = 1; // 0x1

View File

@@ -150,6 +150,29 @@ public abstract class PackageManager {
public static final String PROPERTY_MEDIA_CAPABILITIES =
"android.media.PROPERTY_MEDIA_CAPABILITIES";
/**
* <application> level {@link android.content.pm.PackageManager.Property} tag
* specifying the XML resource ID containing the declaration of the self-certified network
* capabilities used by the application.
*
* <p> Starting from Android 14, usage of some network capabilities in
* {@link android.net.ConnectivityManager#requestNetwork} require the application to
* declare its usage of that particular capability in this resource. Only some capabilities
* require a declaration. Please look up the specific capability you want to use in
* {@link android.net.NetworkCapabilities} to see if it needs declaration in this property.
*
* For example:
* &lt;application&gt;
* &lt;property android:name="android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES"
* android:resource="@xml/self_certified_network_capabilities"&gt;
* &lt;application&gt;
*
* <p> The detail format of self_certified_network_capabilities.xml is described in
* {@link android.net.NetworkRequest}
*/
public static final String PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES =
"android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES";
/**
* Application level property that an app can specify to opt-out from having private data
* directories both on the internal and external storages.