From 5dd45ebc2bb91be162e751e9670a12e16f90b46e Mon Sep 17 00:00:00 2001 From: David Su Date: Fri, 16 Oct 2020 18:31:22 +0000 Subject: [PATCH] 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 --- .../src/android/net/wifi/cts/WifiManagerTest.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java index 94a0e784f0..7edb235eb3 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -37,6 +37,7 @@ import android.provider.Settings; 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 @@ public class WifiManagerTest extends AndroidTestCase { 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 {