diff --git a/core/api/current.txt b/core/api/current.txt index 8337cb61455e4..971045a51c356 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -25512,6 +25512,7 @@ package android.net { method @NonNull public String startProvisionedVpnProfileSession(); method public void stopProvisionedVpnProfile(); field public static final String ACTION_VPN_MANAGER_EVENT = "android.net.action.VPN_MANAGER_EVENT"; + field public static final String CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED = "android.net.category.EVENT_ALWAYS_ON_STATE_CHANGED"; field public static final String CATEGORY_EVENT_DEACTIVATED_BY_USER = "android.net.category.EVENT_DEACTIVATED_BY_USER"; field public static final String CATEGORY_EVENT_IKE_ERROR = "android.net.category.EVENT_IKE_ERROR"; field public static final String CATEGORY_EVENT_NETWORK_ERROR = "android.net.category.EVENT_NETWORK_ERROR"; @@ -25528,6 +25529,7 @@ package android.net { field public static final String EXTRA_UNDERLYING_LINK_PROPERTIES = "android.net.extra.UNDERLYING_LINK_PROPERTIES"; field public static final String EXTRA_UNDERLYING_NETWORK = "android.net.extra.UNDERLYING_NETWORK"; field public static final String EXTRA_UNDERLYING_NETWORK_CAPABILITIES = "android.net.extra.UNDERLYING_NETWORK_CAPABILITIES"; + field public static final String EXTRA_VPN_PROFILE_STATE = "android.net.extra.VPN_PROFILE_STATE"; } public class VpnService extends android.app.Service { diff --git a/core/java/android/net/VpnManager.java b/core/java/android/net/VpnManager.java index c51444cd31b6b..7ffff1a69b06a 100644 --- a/core/java/android/net/VpnManager.java +++ b/core/java/android/net/VpnManager.java @@ -160,6 +160,23 @@ public class VpnManager { public static final String CATEGORY_EVENT_DEACTIVATED_BY_USER = "android.net.category.EVENT_DEACTIVATED_BY_USER"; + /** + * The always-on state of this VPN was changed + * + *
This may be the result of a user changing VPN settings, or a Device Policy Manager app + * having changed the VPN policy. + */ + @SdkConstant(SdkConstant.SdkConstantType.INTENT_CATEGORY) + public static final String CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED = + "android.net.category.EVENT_ALWAYS_ON_STATE_CHANGED"; + + /** + * The VpnProfileState at the time that this event occurred. + * + *
This extra may be null if the VPN was revoked by the user, or the profile was deleted. + */ + public static final String EXTRA_VPN_PROFILE_STATE = "android.net.extra.VPN_PROFILE_STATE"; + /** * The key of the session that experienced this event, as a {@code String}. *