diff options
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 5118b3f2ab7a..c22bc757b4c2 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -5202,6 +5202,15 @@ public class ConnectivityService extends IConnectivityManager.Stub } if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN)) { + // Remove always-on package + synchronized (mVpns) { + final String alwaysOnPackage = getAlwaysOnVpnPackage(userId); + if (alwaysOnPackage != null) { + setAlwaysOnVpnPackage(userId, null, false); + setVpnPackageAuthorization(alwaysOnPackage, userId, false); + } + } + // Turn VPN off VpnConfig vpnConfig = getVpnConfig(userId); if (vpnConfig != null) { @@ -5212,7 +5221,7 @@ public class ConnectivityService extends IConnectivityManager.Stub // in the future without user intervention. setVpnPackageAuthorization(vpnConfig.user, userId, false); - prepareVpn(vpnConfig.user, VpnConfig.LEGACY_VPN, userId); + prepareVpn(null, VpnConfig.LEGACY_VPN, userId); } } } |