diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index 3b0b79a771efe..a111bf9251818 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -264,7 +264,12 @@ public class Vpn { return true; } - // Check if the caller is authorized. + // Stop an existing always-on VPN from being dethroned by other apps. + if (getAlwaysOnPackage() != null) { + return false; + } + + // Check that the caller is authorized. enforceControlPermission(); prepareInternal(newPackage);