diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java index f0ca44162dad4..badc31e6df922 100644 --- a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java +++ b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java @@ -25,6 +25,7 @@ import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; +import android.os.UserManager; import android.text.Html; import android.text.Html.ImageGetter; import android.util.Log; @@ -55,6 +56,10 @@ public class ConfirmDialog extends AlertActivity finish(); return; } + if (UserManager.get(this).hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN)) { + finish(); + return; + } View view = View.inflate(this, R.layout.confirm, null); ((TextView) view.findViewById(R.id.warning)).setText( Html.fromHtml(getString(R.string.warning, getVpnLabel()), diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index dd9baf4909c71..1698ab5204e24 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -555,8 +555,7 @@ public class Vpn { try { // Restricted users are not allowed to create VPNs, they are tied to Owner UserInfo user = mgr.getUserInfo(mUserHandle); - if (user.isRestricted() || mgr.hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN, - new UserHandle(mUserHandle))) { + if (user.isRestricted()) { throw new SecurityException("Restricted users cannot establish VPNs"); }