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

Commit d829e18d authored by Chalard Jean's avatar Chalard Jean Committed by android-build-merger
Browse files

Merge "Unify behavior of various cases of "no underlying networks"" into pi-dev

am: 468fdc3d

Change-Id: I22f80a6a39d4a19ff74aa61fcbd66f1a041b1003
parents 3fa9bdb1 468fdc3d
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -319,15 +319,12 @@ public class Vpn {
        boolean roaming = false;
        boolean congested = false;

        if (ArrayUtils.isEmpty(underlyingNetworks)) {
            // No idea what the underlying networks are; assume sane defaults
            metered = true;
            roaming = false;
            congested = false;
        } else {
        boolean hadUnderlyingNetworks = false;
        if (null != underlyingNetworks) {
            for (Network underlying : underlyingNetworks) {
                final NetworkCapabilities underlyingCaps = cm.getNetworkCapabilities(underlying);
                if (underlyingCaps == null) continue;
                hadUnderlyingNetworks = true;
                for (int underlyingType : underlyingCaps.getTransportTypes()) {
                    transportTypes = ArrayUtils.appendInt(transportTypes, underlyingType);
                }
@@ -343,6 +340,12 @@ public class Vpn {
                congested |= !underlyingCaps.hasCapability(NET_CAPABILITY_NOT_CONGESTED);
            }
        }
        if (!hadUnderlyingNetworks) {
            // No idea what the underlying networks are; assume sane defaults
            metered = true;
            roaming = false;
            congested = false;
        }

        caps.setTransportTypes(transportTypes);
        caps.setLinkDownstreamBandwidthKbps(downKbps);
+2 −4
Original line number Diff line number Diff line
@@ -4413,13 +4413,11 @@ public class ConnectivityServiceTest {
                && caps.hasCapability(NET_CAPABILITY_NOT_METERED),
                vpnNetworkAgent);

        // Disconnect wifi too. No underlying networks should mean this is now metered,
        // unfortunately a discrepancy in the current implementation has this unmetered.
        // TODO : fix this.
        // Disconnect wifi too. No underlying networks means this is now metered.
        mWiFiNetworkAgent.disconnect();
        vpnNetworkCallback.expectCapabilitiesLike((caps) -> caps.hasTransport(TRANSPORT_VPN)
                && !caps.hasTransport(TRANSPORT_CELLULAR) && !caps.hasTransport(TRANSPORT_WIFI)
                && caps.hasCapability(NET_CAPABILITY_NOT_METERED),
                && !caps.hasCapability(NET_CAPABILITY_NOT_METERED),
                vpnNetworkAgent);

        mMockVpn.disconnect();