Merge "Stop depending on the ConnectivityService default request." am: e62097f71d
am: 15f89ada84
Change-Id: I93532a44b070dfbca74e8b68c3e26aa96ed5c480
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user