[CTS] check the Compatibility change to verify the backup and restore
Bug: 259339042
Test: atest WifiBackupRestoreTest
Change-Id: Ic57c6eccf3b8288fcfbb33f28ec3cff66f98ef9f
diff --git a/tests/tests/wifi/src/android/net/wifi/cts/WifiBackupRestoreTest.java b/tests/tests/wifi/src/android/net/wifi/cts/WifiBackupRestoreTest.java
index 279e242..0107119 100644
--- a/tests/tests/wifi/src/android/net/wifi/cts/WifiBackupRestoreTest.java
+++ b/tests/tests/wifi/src/android/net/wifi/cts/WifiBackupRestoreTest.java
@@ -27,6 +27,7 @@
import static org.junit.Assume.assumeTrue;
import android.app.UiAutomation;
+import android.app.compat.CompatChanges;
import android.content.Context;
import android.net.IpConfiguration;
import android.net.LinkAddress;
@@ -91,6 +92,7 @@
public static final int EXPECTED_LEGACY_STATIC_PROXY_PORT = 8000;
public static final String EXPECTED_LEGACY_STATIC_PROXY_EXCLUSION_LIST = "";
public static final String EXPECTED_LEGACY_PAC_PROXY_LOCATION = "http://";
+ private static final long NOT_OVERRIDE_EXISTING_NETWORKS_ON_RESTORE = 234793325L;
private Context mContext;
private WifiManager mWifiManager;
@@ -201,12 +203,10 @@
Log.e(TAG, "Need a non-enterprise and non-Passpoint network created by an app "
+ "holding OVERRIDE_WIFI_CONFIG permission to fully evaluate the "
+ "functionality");
- }
+ } else {
- // Retrieve backup data.
- byte[] backupData = mWifiManager.retrieveBackupData();
-
- if (origNetwork != null) {
+ // Retrieve backup data.
+ byte[] backupData = mWifiManager.retrieveBackupData();
// Modify the metered bit.
final String origNetworkSsid = origNetwork.SSID;
WifiConfiguration modNetwork = new WifiConfiguration(origNetwork);
@@ -219,19 +219,26 @@
.findAny()
.get().meteredOverride)
.isNotEqualTo(origNetwork.meteredOverride);
- }
- // Restore the original backup data & ensure that the metered bit is back to orig.
- mWifiManager.restoreBackupData(backupData);
+ // Restore the original backup data & ensure that the metered bit is back to orig.
+ mWifiManager.restoreBackupData(backupData);
- if (origNetwork != null) {
- final String origNetworkSsid = origNetwork.SSID;
- assertThat(mWifiManager.getConfiguredNetworks()
- .stream()
- .filter(n -> n.SSID.equals(origNetworkSsid))
- .findAny()
- .get().meteredOverride)
- .isEqualTo(origNetwork.meteredOverride);
+ if (CompatChanges.isChangeEnabled(NOT_OVERRIDE_EXISTING_NETWORKS_ON_RESTORE)) {
+ assertThat(mWifiManager.getConfiguredNetworks()
+ .stream()
+ .filter(n -> n.SSID.equals(origNetworkSsid))
+ .findAny()
+ .get().meteredOverride)
+ .isNotEqualTo(origNetwork.meteredOverride);
+
+ } else {
+ assertThat(mWifiManager.getConfiguredNetworks()
+ .stream()
+ .filter(n -> n.SSID.equals(origNetworkSsid))
+ .findAny()
+ .get().meteredOverride)
+ .isEqualTo(origNetwork.meteredOverride);
+ }
}
} finally {
// Restore the orig network