Merge "Stop depending on the ConnectivityService default request." am: e62097f71d

am: 15f89ada84

Change-Id: I93532a44b070dfbca74e8b68c3e26aa96ed5c480
This commit is contained in:
Lorenzo Colitti
2019-01-23 08:25:19 -08:00
committed by android-build-merger
4 changed files with 20 additions and 11 deletions

View File

@@ -247,7 +247,6 @@ public class NetworkMonitor extends StateMachine {
private final TelephonyManager mTelephonyManager; private final TelephonyManager mTelephonyManager;
private final WifiManager mWifiManager; private final WifiManager mWifiManager;
private final ConnectivityManager mCm; private final ConnectivityManager mCm;
private final NetworkRequest mDefaultRequest;
private final IpConnectivityLog mMetricsLog; private final IpConnectivityLog mMetricsLog;
private final Dependencies mDependencies; private final Dependencies mDependencies;
@@ -336,7 +335,6 @@ public class NetworkMonitor extends StateMachine {
mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
mDefaultRequest = defaultRequest;
// CHECKSTYLE:OFF IndentationCheck // CHECKSTYLE:OFF IndentationCheck
addState(mDefaultState); addState(mDefaultState);
@@ -486,8 +484,7 @@ public class NetworkMonitor extends StateMachine {
} }
private boolean isValidationRequired() { private boolean isValidationRequired() {
return NetworkMonitorUtils.isValidationRequired( return NetworkMonitorUtils.isValidationRequired(mNetworkCapabilities);
mDefaultRequest.networkCapabilities, mNetworkCapabilities);
} }

View File

@@ -2640,8 +2640,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
} }
private boolean networkRequiresValidation(NetworkAgentInfo nai) { private boolean networkRequiresValidation(NetworkAgentInfo nai) {
return isValidationRequired( return isValidationRequired(nai.networkCapabilities);
mDefaultRequest.networkCapabilities, nai.networkCapabilities);
} }
private void handleFreshlyValidatedNetwork(NetworkAgentInfo nai) { private void handleFreshlyValidatedNetwork(NetworkAgentInfo nai) {

View File

@@ -16,6 +16,11 @@
package android.net.shared; 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.content.Context;
import android.net.NetworkCapabilities; import android.net.NetworkCapabilities;
import android.provider.Settings; import android.provider.Settings;
@@ -58,9 +63,12 @@ public class NetworkMonitorUtils {
* @param dfltNetCap Default requested network capabilities. * @param dfltNetCap Default requested network capabilities.
* @param nc Network capabilities of the network to test. * @param nc Network capabilities of the network to test.
*/ */
public static boolean isValidationRequired( public static boolean isValidationRequired(NetworkCapabilities nc) {
NetworkCapabilities dfltNetCap, NetworkCapabilities nc) {
// TODO: Consider requiring validation for DUN networks. // 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);
} }
} }

View File

@@ -1508,6 +1508,12 @@ public class ConnectivityServiceTest {
verifyActiveNetwork(TRANSPORT_WIFI); verifyActiveNetwork(TRANSPORT_WIFI);
} }
@Test
public void testRequiresValidation() {
assertTrue(NetworkMonitorUtils.isValidationRequired(
mCm.getDefaultRequest().networkCapabilities));
}
enum CallbackState { enum CallbackState {
NONE, NONE,
AVAILABLE, AVAILABLE,
@@ -4404,8 +4410,7 @@ public class ConnectivityServiceTest {
mMockVpn.setUids(ranges); mMockVpn.setUids(ranges);
// VPN networks do not satisfy the default request and are automatically validated // VPN networks do not satisfy the default request and are automatically validated
// by NetworkMonitor // by NetworkMonitor
assertFalse(NetworkMonitorUtils.isValidationRequired( assertFalse(NetworkMonitorUtils.isValidationRequired(vpnNetworkAgent.mNetworkCapabilities));
mCm.getDefaultRequest().networkCapabilities, vpnNetworkAgent.mNetworkCapabilities));
vpnNetworkAgent.setNetworkValid(); vpnNetworkAgent.setNetworkValid();
vpnNetworkAgent.connect(false); vpnNetworkAgent.connect(false);