DO NOT MERGE CTS: Ensure CONFIGURED_NETWORKS_CHANGED_ACTION broadcast is received
Android Pie CtsNetTestCases AndroidManifest.xml has both
ACCESS_WIFI_STATE & ACCESS_FINE_LOCATION permission.
Thus, it should receive the CONFIGURED_NETWORKS_CHANGED_ACTION
broadcast when a network is removed.
Bug: 159373687
Bug: 171022033
Test: atest CtsNetTestCases
Change-Id: I9d194424469d204c4f95e98b937d67ba728f2122
Merged-In: I4669a6ff79b3d2e99795015e42bfa611cffb9070
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java
index 94a0e78..7edb235 100644
--- a/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java
@@ -37,6 +37,7 @@
import android.test.AndroidTestCase;
import android.util.Log;
+import com.android.compatibility.common.util.PollingCheck;
import com.android.compatibility.common.util.WifiConfigCreator;
import java.net.HttpURLConnection;
@@ -475,13 +476,14 @@
assertFalse(existSSID(SSID1));
assertFalse(existSSID(SSID2));
- // wait 10 seconds to ensure that broadcast wasn't received
- Thread.sleep(DURATION);
+ // Should receive CONFIGURED_NETWORKS_CHANGED_ACTION broadcast because CtsNetTestCases'
+ // AndroidManifest.xml has both ACCESS_WIFI_STATE & ACCESS_FINE_LOCATION permissions.
+ PollingCheck.check(
+ "Didn't receive CONFIGURED_NETWORKS_CHANGED_ACTION broadcast!",
+ DURATION,
+ () -> intentHolder.intent != null);
Intent intent = intentHolder.intent;
- // Broadcast shouldn't be received because although CtsNetTestCases has
- // ACCESS_WIFI_STATE permission, it doesn't have ACCESS_FINE_LOCATION permission.
- // Receivers need both permissions to get the broadcast.
- assertNull("Unexpected received CONFIGURED_NETWORKS_CHANGED_ACTION broadcast!", intent);
+ assertEquals(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION, intent.getAction());
assertTrue(mWifiManager.saveConfiguration());
} finally {