Define and use default request in Ikev2VpnRunner

Vpn might be included in ConnectivityService mainline module, so
it should prevent calling @hide API. Even if Vpn isn't included
in ConnectivityService mainline module eventually, it's still
fine to use local defined default request instead of calling
@hide API.
Ideally, ConnectivityManager will provide a new API which can
provide the status of physical network even though there is a
virtual network. b/147280869 is used for tracking the new API.

Bug: 172183305
Test: atest FrameworksNetTests
Test: atest CtsNetTestCasesLatestSdk
Test: Manual setup IKEV2 VPN connection.
Change-Id: If76e7497bef4890a74641695c3ebd395795bbe7f
This commit is contained in:
lucaslin
2020-11-13 14:58:05 +08:00
committed by Lucas Lin
parent 32f5d14cef
commit 3d4941b9c2

View File

@@ -2407,7 +2407,14 @@ public class Vpn {
.addTransportType(NetworkCapabilities.TRANSPORT_TEST)
.build();
} else {
req = cm.getDefaultRequest();
// Basically, the request here is referring to the default request which is defined
// in ConnectivityService. Ideally, ConnectivityManager should provide an new API
// which can provide the status of physical network even though there is a virtual
// network. b/147280869 is used for tracking the new API.
// TODO: Use the new API to register default physical network.
req = new NetworkRequest.Builder()
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build();
}
cm.requestNetwork(req, mNetworkCallback);