Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b291909 authored by Yuyang Huang's avatar Yuyang Huang
Browse files

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
parent 4a89fb33
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+23 −0
Original line number Diff line number Diff line
@@ -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.