Fix always-on is not turned off when user forgets vpn
Change-Id: Iad285ff06abde71ef040cbb29f740bcf20c3bbb7 Fix: 29991174
This commit is contained in:
@@ -80,7 +80,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
|||||||
public void onForget() {
|
public void onForget() {
|
||||||
// Unset always-on-vpn when forgetting the VPN
|
// Unset always-on-vpn when forgetting the VPN
|
||||||
if (isVpnAlwaysOn()) {
|
if (isVpnAlwaysOn()) {
|
||||||
setAlwaysOnVpnByUI(false);
|
setAlwaysOnVpn(false);
|
||||||
}
|
}
|
||||||
// Also dismiss and go back to VPN list
|
// Also dismiss and go back to VPN list
|
||||||
finish();
|
finish();
|
||||||
@@ -187,14 +187,18 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
|||||||
if (mUserId == UserHandle.USER_SYSTEM) {
|
if (mUserId == UserHandle.USER_SYSTEM) {
|
||||||
VpnUtils.clearLockdownVpn(getContext());
|
VpnUtils.clearLockdownVpn(getContext());
|
||||||
}
|
}
|
||||||
final boolean success = mConnectivityManager.setAlwaysOnVpnPackageForUser(mUserId,
|
final boolean success = setAlwaysOnVpn(isEnabled);
|
||||||
isEnabled ? mPackageName : null, /* lockdownEnabled */ false);
|
|
||||||
if (isEnabled && (!success || !isVpnAlwaysOn())) {
|
if (isEnabled && (!success || !isVpnAlwaysOn())) {
|
||||||
CannotConnectFragment.show(this, mVpnLabel);
|
CannotConnectFragment.show(this, mVpnLabel);
|
||||||
}
|
}
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean setAlwaysOnVpn(boolean isEnabled) {
|
||||||
|
return mConnectivityManager.setAlwaysOnVpnPackageForUser(mUserId,
|
||||||
|
isEnabled ? mPackageName : null, /* lockdownEnabled */ false);
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkTargetVersion() {
|
private boolean checkTargetVersion() {
|
||||||
if (mPackageInfo == null || mPackageInfo.applicationInfo == null) {
|
if (mPackageInfo == null || mPackageInfo.applicationInfo == null) {
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user