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

Commit c159d529 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Tidy up users of TRANSPORT constants.

Some call sites using explicit TRANSPORT types want to know about the
raw underlying transport, and they don't want to know about VPNs
that are going over that transport.

For example, SettingsLib always wants to know about the actual
Wi-Fi network, so it uses NOT_VPN to avoid being confused by VPN
networks that are backed by a TRANSPORT_WIFI network.

GnssLocationProvider wants to know about any validated internet
access, regardless of the underlying transport.

Test: atest com.android.settingslib.wifi
Bug: 68499889
Change-Id: Ib5897946d856444d9ff3b54c4aeace6baa42f8bf
parent ff23ffa8
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -50,7 +50,9 @@ public class WifiStatusTracker extends ConnectivityManager.NetworkCallback {
                }
            };
    private final NetworkRequest mNetworkRequest = new NetworkRequest.Builder()
            .clearCapabilities().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build();
            .clearCapabilities()
            .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
            .addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build();
    private final ConnectivityManager.NetworkCallback mNetworkCallback = new ConnectivityManager
            .NetworkCallback() {
        @Override
+1 −0
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro

        mNetworkRequest = new NetworkRequest.Builder()
                .clearCapabilities()
                .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                .build();

+3 −3
Original line number Diff line number Diff line
@@ -2576,9 +2576,9 @@ public class GnssLocationProvider implements LocationProviderInterface {
            // register for connectivity change events, this is equivalent to the deprecated way of
            // registering for CONNECTIVITY_ACTION broadcasts
            NetworkRequest.Builder networkRequestBuilder = new NetworkRequest.Builder();
            networkRequestBuilder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
            networkRequestBuilder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
            networkRequestBuilder.addTransportType(NetworkCapabilities.TRANSPORT_BLUETOOTH);
            networkRequestBuilder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
            networkRequestBuilder.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
            networkRequestBuilder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN);
            NetworkRequest networkRequest = networkRequestBuilder.build();
            mConnMgr.registerNetworkCallback(networkRequest, mNetworkConnectivityCallback);

+1 −0
Original line number Diff line number Diff line
@@ -1317,6 +1317,7 @@ public class WifiManager {
        if (pin) {
            NetworkRequest request = new NetworkRequest.Builder()
                    .clearCapabilities()
                    .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
                    .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                    .build();
            NetworkPinner.pin(mContext, request);