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

Commit 842030f0 authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by Automerger Merge Worker
Browse files

Merge "Stop using VPNs in getActiveNetworkForUidInternal." am: d25da5eb am: be0a5157

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529106

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I99171813b9dba39ac95bab1391fd8db905b5f841
parents a5dfc094 be0a5157
Loading
Loading
Loading
Loading
+18 −30
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import static android.net.ConnectivityDiagnosticsManager.DataStallReport.KEY_DNS
import static android.net.ConnectivityDiagnosticsManager.DataStallReport.KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS;
import static android.net.ConnectivityDiagnosticsManager.DataStallReport.KEY_TCP_PACKET_FAIL_RATE;
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
import static android.net.ConnectivityManager.NETID_UNSET;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC;
import static android.net.ConnectivityManager.TYPE_ETHERNET;
import static android.net.ConnectivityManager.TYPE_NONE;
@@ -1444,31 +1443,20 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }

    private Network getActiveNetworkForUidInternal(final int uid, boolean ignoreBlocked) {
        final int user = UserHandle.getUserId(uid);
        int vpnNetId = NETID_UNSET;
        synchronized (mVpns) {
            final Vpn vpn = mVpns.get(user);
            // TODO : now that capabilities contain the UID, the appliesToUid test should
            // be removed as the satisfying test below should be enough.
            if (vpn != null && vpn.appliesToUid(uid)) vpnNetId = vpn.getNetId();
        }
        NetworkAgentInfo nai;
        if (vpnNetId != NETID_UNSET) {
            nai = getNetworkAgentInfoForNetId(vpnNetId);
            if (nai != null) {
                final NetworkCapabilities requiredCaps =
                    createDefaultNetworkCapabilitiesForUid(uid);
                if (requiredCaps.satisfiedByNetworkCapabilities(nai.networkCapabilities)) {
                    return nai.network;
                }
        final NetworkAgentInfo vpnNai = getVpnForUid(uid);
        if (vpnNai != null) {
            final NetworkCapabilities requiredCaps = createDefaultNetworkCapabilitiesForUid(uid);
            if (requiredCaps.satisfiedByNetworkCapabilities(vpnNai.networkCapabilities)) {
                return vpnNai.network;
            }
        }
        nai = getDefaultNetwork();
        if (nai != null && isNetworkWithCapabilitiesBlocked(
                nai.networkCapabilities, uid, ignoreBlocked)) {
            nai = null;

        NetworkAgentInfo nai = getDefaultNetwork();
        if (nai == null || isNetworkWithCapabilitiesBlocked(nai.networkCapabilities, uid,
                ignoreBlocked)) {
            return null;
        }
        return nai != null ? nai.network : null;
        return nai.network;
    }

    // Public because it's used by mLockdownTracker.
@@ -4830,6 +4818,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
            if (mLockdownEnabled) {
                return new VpnInfo[0];
            }
        }
        List<VpnInfo> infoList = new ArrayList<>();
        for (NetworkAgentInfo nai : mNetworkAgentInfos) {
            VpnInfo info = createVpnInfo(nai);
@@ -4839,7 +4828,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
        }
        return infoList.toArray(new VpnInfo[infoList.size()]);
    }
    }

    /**
     * @return VPN information for accounting, or null if we can't retrieve all required