diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java index 3a52ee60a3..1ee08ffa7a 100644 --- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java +++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java @@ -639,11 +639,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(); @@ -720,10 +723,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); @@ -741,7 +744,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,