Update network object when wifi meterness is changed
The new wifi disconnect behavior is introduced. When wifi
network is changed from unmetered to metered, the wifi
network will disconnect and reconnect. Update the test to
verify the same SSID wifi is connected and also update the
target network to verfiy the metered preference.
Bug: 153400606
Test: atest CtsNetTestCases:android.net.cts.ConnectivityManagerTest\
#testGetMultipathPreference
Change-Id: Ic298d3d85d8c6b77c8df7614a945f2c22dcdff38
diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
index fa7e138..3a52ee6 100644
--- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -709,7 +709,7 @@
@AppModeFull(reason = "Cannot get WifiManager in instant app mode")
public void testGetMultipathPreference() throws Exception {
final ContentResolver resolver = mContext.getContentResolver();
- final Network network = ensureWifiConnected();
+ ensureWifiConnected();
final String ssid = unquoteSSID(mWifiManager.getConnectionInfo().getSSID());
final String oldMeteredSetting = getWifiMeteredStatus(ssid);
final String oldMeteredMultipathPreference = Settings.Global.getString(
@@ -721,6 +721,10 @@
Integer.toString(newMeteredPreference));
setWifiMeteredStatus(ssid, "true");
waitForActiveNetworkMetered(true);
+ // Wifi meterness changes from unmetered to metered will disconnect and reconnect since
+ // R.
+ final Network network = mCm.getActiveNetwork();
+ assertEquals(ssid, unquoteSSID(mWifiManager.getConnectionInfo().getSSID()));
assertEquals(mCm.getNetworkCapabilities(network).hasCapability(
NET_CAPABILITY_NOT_METERED), false);
assertMultipathPreferenceIsEventually(network, initialMeteredPreference,
@@ -736,6 +740,7 @@
oldMeteredPreference, newMeteredPreference);
setWifiMeteredStatus(ssid, "false");
+ // No disconnect from unmetered to metered.
waitForActiveNetworkMetered(false);
assertEquals(mCm.getNetworkCapabilities(network).hasCapability(
NET_CAPABILITY_NOT_METERED), true);