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

Commit 15f89ada authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by android-build-merger
Browse files

Merge "Stop depending on the ConnectivityService default request."

am: e62097f7

Change-Id: Iae908cb959d50870923bce4dbe1bfed5f4c26c2c
parents 6303689d e62097f7
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -247,7 +247,6 @@ public class NetworkMonitor extends StateMachine {
    private final TelephonyManager mTelephonyManager;
    private final WifiManager mWifiManager;
    private final ConnectivityManager mCm;
    private final NetworkRequest mDefaultRequest;
    private final IpConnectivityLog mMetricsLog;
    private final Dependencies mDependencies;

@@ -336,7 +335,6 @@ public class NetworkMonitor extends StateMachine {
        mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        mDefaultRequest = defaultRequest;

        // CHECKSTYLE:OFF IndentationCheck
        addState(mDefaultState);
@@ -486,8 +484,7 @@ public class NetworkMonitor extends StateMachine {
    }

    private boolean isValidationRequired() {
        return NetworkMonitorUtils.isValidationRequired(
                mDefaultRequest.networkCapabilities, mNetworkCapabilities);
        return NetworkMonitorUtils.isValidationRequired(mNetworkCapabilities);
    }


+1 −2
Original line number Diff line number Diff line
@@ -2640,8 +2640,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }

    private boolean networkRequiresValidation(NetworkAgentInfo nai) {
        return isValidationRequired(
                mDefaultRequest.networkCapabilities, nai.networkCapabilities);
        return isValidationRequired(nai.networkCapabilities);
    }

    private void handleFreshlyValidatedNetwork(NetworkAgentInfo nai) {
+11 −3
Original line number Diff line number Diff line
@@ -16,6 +16,11 @@

package android.net.shared;

import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
import static android.net.NetworkCapabilities.NET_CAPABILITY_TRUSTED;

import android.content.Context;
import android.net.NetworkCapabilities;
import android.provider.Settings;
@@ -58,9 +63,12 @@ public class NetworkMonitorUtils {
     * @param dfltNetCap Default requested network capabilities.
     * @param nc Network capabilities of the network to test.
     */
    public static boolean isValidationRequired(
            NetworkCapabilities dfltNetCap, NetworkCapabilities nc) {
    public static boolean isValidationRequired(NetworkCapabilities nc) {
        // TODO: Consider requiring validation for DUN networks.
        return dfltNetCap.satisfiedByNetworkCapabilities(nc);
        return nc != null
                && nc.hasCapability(NET_CAPABILITY_INTERNET)
                && nc.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)
                && nc.hasCapability(NET_CAPABILITY_TRUSTED)
                && nc.hasCapability(NET_CAPABILITY_NOT_VPN);
    }
}
+7 −2
Original line number Diff line number Diff line
@@ -1508,6 +1508,12 @@ public class ConnectivityServiceTest {
        verifyActiveNetwork(TRANSPORT_WIFI);
    }

    @Test
    public void testRequiresValidation() {
        assertTrue(NetworkMonitorUtils.isValidationRequired(
                mCm.getDefaultRequest().networkCapabilities));
    }

    enum CallbackState {
        NONE,
        AVAILABLE,
@@ -4404,8 +4410,7 @@ public class ConnectivityServiceTest {
        mMockVpn.setUids(ranges);
        // VPN networks do not satisfy the default request and are automatically validated
        // by NetworkMonitor
        assertFalse(NetworkMonitorUtils.isValidationRequired(
                mCm.getDefaultRequest().networkCapabilities, vpnNetworkAgent.mNetworkCapabilities));
        assertFalse(NetworkMonitorUtils.isValidationRequired(vpnNetworkAgent.mNetworkCapabilities));
        vpnNetworkAgent.setNetworkValid();

        vpnNetworkAgent.connect(false);