Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9505b78e authored by Victor Chang's avatar Victor Chang Committed by Android (Google) Code Review
Browse files

Merge "Fix always-on is not turned off when user forgets vpn" into nyc-mr1-dev

parents 94c8f7ea fcb0d74a
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
        public void onForget() {
            // Unset always-on-vpn when forgetting the VPN
            if (isVpnAlwaysOn()) {
                setAlwaysOnVpnByUI(false);
                setAlwaysOnVpn(false);
            }
            // Also dismiss and go back to VPN list
            finish();
@@ -187,14 +187,18 @@ public class AppManagementFragment extends SettingsPreferenceFragment
        if (mUserId == UserHandle.USER_SYSTEM) {
            VpnUtils.clearLockdownVpn(getContext());
        }
        final boolean success = mConnectivityManager.setAlwaysOnVpnPackageForUser(mUserId,
                isEnabled ? mPackageName : null, /* lockdownEnabled */ false);
        final boolean success = setAlwaysOnVpn(isEnabled);
        if (isEnabled && (!success || !isVpnAlwaysOn())) {
            CannotConnectFragment.show(this, mVpnLabel);
        }
        return success;
    }

    private boolean setAlwaysOnVpn(boolean isEnabled) {
         return mConnectivityManager.setAlwaysOnVpnPackageForUser(mUserId,
                isEnabled ? mPackageName : null, /* lockdownEnabled */ false);
    }

    private boolean checkTargetVersion() {
        if (mPackageInfo == null || mPackageInfo.applicationInfo == null) {
            return true;