Merge "Check target transport type for meterness change" am: ac551dff33 am: 63592fd781 am: 8167ede0fd am: 82debfd479 am: 4f97f84178

Change-Id: I044f18a677d4dbd7a5a1457f90992164ca7e07ea
This commit is contained in:
Chiachang Wang
2020-04-22 07:45:16 +00:00
committed by Automerger Merge Worker

View File

@@ -648,11 +648,14 @@ public class ConnectivityManagerTest extends AndroidTestCase {
}
}
private void waitForActiveNetworkMetered(boolean requestedMeteredness) throws Exception {
private void waitForActiveNetworkMetered(int targetTransportType, boolean requestedMeteredness)
throws Exception {
final CountDownLatch latch = new CountDownLatch(1);
final NetworkCallback networkCallback = new NetworkCallback() {
@Override
public void onCapabilitiesChanged(Network network, NetworkCapabilities nc) {
if (!nc.hasTransport(targetTransportType)) return;
final boolean metered = !nc.hasCapability(NET_CAPABILITY_NOT_METERED);
if (metered == requestedMeteredness) {
latch.countDown();
@@ -729,10 +732,10 @@ public class ConnectivityManagerTest extends AndroidTestCase {
Settings.Global.putString(resolver, NETWORK_METERED_MULTIPATH_PREFERENCE,
Integer.toString(newMeteredPreference));
setWifiMeteredStatus(ssid, "true");
waitForActiveNetworkMetered(true);
waitForActiveNetworkMetered(TRANSPORT_WIFI, true);
// Wifi meterness changes from unmetered to metered will disconnect and reconnect since
// R.
final Network network = mCm.getActiveNetwork();
final Network network = ensureWifiConnected();
assertEquals(ssid, unquoteSSID(mWifiManager.getConnectionInfo().getSSID()));
assertEquals(mCm.getNetworkCapabilities(network).hasCapability(
NET_CAPABILITY_NOT_METERED), false);
@@ -750,7 +753,7 @@ public class ConnectivityManagerTest extends AndroidTestCase {
setWifiMeteredStatus(ssid, "false");
// No disconnect from unmetered to metered.
waitForActiveNetworkMetered(false);
waitForActiveNetworkMetered(TRANSPORT_WIFI, false);
assertEquals(mCm.getNetworkCapabilities(network).hasCapability(
NET_CAPABILITY_NOT_METERED), true);
assertMultipathPreferenceIsEventually(network, newMeteredPreference,