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 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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user