Snap for 6520394 from 7de4f0582d986cda347052cdcdb39c4cc97e44f4 to rvc-release
Change-Id: I471d16f3c3735f4fdd9844c59d4d94c8bc6a492a
This commit is contained in:
@@ -592,4 +592,50 @@ class NetworkAgentTest {
|
||||
assertNull(it.uri)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testTemporarilyUnmeteredCapability() {
|
||||
// This test will create a networks with/without NET_CAPABILITY_TEMPORARILY_NOT_METERED
|
||||
// and check that the callback reflects the capability changes.
|
||||
// First create a request to make sure the network is kept up
|
||||
val request1 = NetworkRequest.Builder()
|
||||
.clearCapabilities()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_TEST)
|
||||
.build()
|
||||
val callback1 = TestableNetworkCallback(DEFAULT_TIMEOUT_MS).also {
|
||||
registerNetworkCallback(request1, it)
|
||||
}
|
||||
requestNetwork(request1, callback1)
|
||||
|
||||
// Then file the interesting request
|
||||
val request = NetworkRequest.Builder()
|
||||
.clearCapabilities()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_TEST)
|
||||
.build()
|
||||
val callback = TestableNetworkCallback()
|
||||
requestNetwork(request, callback)
|
||||
|
||||
// Connect the network
|
||||
createConnectedNetworkAgent().let { (agent, _) ->
|
||||
callback.expectAvailableThenValidatedCallbacks(agent.network)
|
||||
|
||||
// Send TEMP_NOT_METERED and check that the callback is called appropriately.
|
||||
val nc1 = NetworkCapabilities(agent.nc)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
agent.sendNetworkCapabilities(nc1)
|
||||
callback.expectCapabilitiesThat(agent.network) {
|
||||
it.hasCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
}
|
||||
|
||||
// Remove TEMP_NOT_METERED and check that the callback is called appropriately.
|
||||
val nc2 = NetworkCapabilities(agent.nc)
|
||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
agent.sendNetworkCapabilities(nc2)
|
||||
callback.expectCapabilitiesThat(agent.network) {
|
||||
!it.hasCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
}
|
||||
}
|
||||
|
||||
// tearDown() will unregister the requests and agents
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package android.net.cts;
|
||||
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_VPN;
|
||||
@@ -86,6 +87,16 @@ public class NetworkRequestTest {
|
||||
verifyNoCapabilities(nr);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemporarilyNotMeteredCapability() {
|
||||
assertTrue(new NetworkRequest.Builder()
|
||||
.addCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED).build()
|
||||
.hasCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED));
|
||||
assertFalse(new NetworkRequest.Builder()
|
||||
.removeCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED).build()
|
||||
.hasCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED));
|
||||
}
|
||||
|
||||
private void verifyNoCapabilities(NetworkRequest nr) {
|
||||
// NetworkCapabilities.mNetworkCapabilities is defined as type long
|
||||
final int MAX_POSSIBLE_CAPABILITY = Long.SIZE;
|
||||
|
||||
Reference in New Issue
Block a user