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

Commit 7a472a81 authored by Robin Lee's avatar Robin Lee Committed by Android Git Automerger
Browse files

am 7475cc16: am 2d64ad5c: am 7321f09f: am 6a5c9370: am 6795a2ae: Check legacy...

am 7475cc16: am 2d64ad5c: am 7321f09f: am 6a5c9370: am 6795a2ae: Check legacy VPN is connected before alerting

* commit '7475cc16':
  Check legacy VPN is connected before alerting
parents 46ca45d5 7475cc16
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -25,7 +25,9 @@ import android.net.ConnectivityManager.NetworkCallback;
import android.net.IConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.NetworkRequest;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
@@ -34,6 +36,7 @@ import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;

import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnInfo;
import com.android.systemui.R;
@@ -210,9 +213,17 @@ public class SecurityControllerImpl implements SecurityController {
        try {
            for (UserInfo user : mUserManager.getUsers()) {
                VpnConfig cfg = mConnectivityManagerService.getVpnConfig(user.id);
                if (cfg != null) {
                    vpns.put(user.id, cfg);
                if (cfg == null) {
                    continue;
                } else if (cfg.legacy) {
                    // Legacy VPNs should do nothing if the network is disconnected. Third-party
                    // VPN warnings need to continue as traffic can still go to the app.
                    LegacyVpnInfo legacyVpn = mConnectivityManagerService.getLegacyVpnInfo(user.id);
                    if (legacyVpn == null || legacyVpn.state != LegacyVpnInfo.STATE_CONNECTED) {
                        continue;
                    }
                }
                vpns.put(user.id, cfg);
            }
        } catch (RemoteException rme) {
            // Roll back to previous state