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

Commit 5da5ae3b authored by Charles He's avatar Charles He
Browse files

Opt-out for always-on VPN: rename API.

Rename the opt-out flag in AndroidManifest to
SERVICE_META_DATA_SUPPORTS_ALWAYS_ON
as directed by the API Council.

Bug: 64331776
Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Change-Id: I24326fad7a89083a2409134640bda81ee0359d08
Merged-In: I24326fad7a89083a2409134640bda81ee0359d08
(cherry picked from commit c57a01c1)
parent a0a87e81
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -26001,8 +26001,8 @@ package android.net {
    method public boolean protect(java.net.Socket);
    method public boolean protect(java.net.DatagramSocket);
    method public boolean setUnderlyingNetworks(android.net.Network[]);
    field public static final java.lang.String METADATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
    field public static final java.lang.String SERVICE_INTERFACE = "android.net.VpnService";
    field public static final java.lang.String SERVICE_META_DATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
  }
  public class VpnService.Builder {
+1 −1
Original line number Diff line number Diff line
@@ -28265,8 +28265,8 @@ package android.net {
    method public boolean protect(java.net.Socket);
    method public boolean protect(java.net.DatagramSocket);
    method public boolean setUnderlyingNetworks(android.net.Network[]);
    field public static final java.lang.String METADATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
    field public static final java.lang.String SERVICE_INTERFACE = "android.net.VpnService";
    field public static final java.lang.String SERVICE_META_DATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
  }
  public class VpnService.Builder {
+1 −1
Original line number Diff line number Diff line
@@ -26110,8 +26110,8 @@ package android.net {
    method public boolean protect(java.net.Socket);
    method public boolean protect(java.net.DatagramSocket);
    method public boolean setUnderlyingNetworks(android.net.Network[]);
    field public static final java.lang.String METADATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
    field public static final java.lang.String SERVICE_INTERFACE = "android.net.VpnService";
    field public static final java.lang.String SERVICE_META_DATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
  }
  public class VpnService.Builder {
+1 −1
Original line number Diff line number Diff line
@@ -3912,7 +3912,7 @@ public class DevicePolicyManager {
     *         {@link android.Manifest.permission#BIND_VPN_SERVICE};</li>
     *     <li>target {@link android.os.Build.VERSION_CODES#N API 24} or above; and</li>
     *     <li><i>not</i> explicitly opt out of the feature through
     *         {@link android.net.VpnService#METADATA_SUPPORTS_ALWAYS_ON}.</li>
     *         {@link android.net.VpnService#SERVICE_META_DATA_SUPPORTS_ALWAYS_ON}.</li>
     * </ul>
     * The call will fail if called with the package name of an unsupported VPN app.
     *
+2 −2
Original line number Diff line number Diff line
@@ -840,8 +840,8 @@ public class ConnectivityManager {
     * In order to support the always-on feature, an app has to
     * <ul>
     *     <li>target {@link VERSION_CODES#N API 24} or above, and
     *     <li>not opt out through the {@link VpnService#METADATA_SUPPORTS_ALWAYS_ON} meta-data
     *         field.
     *     <li>not opt out through the {@link VpnService#SERVICE_META_DATA_SUPPORTS_ALWAYS_ON}
     *         meta-data field.
     * </ul>
     *
     * @param userId The identifier of the user for whom the VPN app is installed.
Loading