Merge "Merge "Ensure CONFIGURED_NETWORKS_CHANGED not received without permissions" into oreo-cts-dev am: f23d174804" into oreo-mr1-cts-dev am: 09eb86e9af

Original change: https://android-review.googlesource.com/c/platform/cts/+/1452057

Change-Id: I01c63580b9fcaf26e2289002ead0d3beb7fd7428
This commit is contained in:
Automerger Merge Worker
2020-10-13 15:07:53 +00:00

View File

@@ -415,12 +415,33 @@ public class WifiManagerTest extends AndroidTestCase {
assertFalse(existSSID(SSID1)); assertFalse(existSSID(SSID1));
assertTrue(existSSID(SSID2)); assertTrue(existSSID(SSID2));
// Need an effectively-final holder because we need to modify inner Intent in callback.
class IntentHolder {
Intent intent;
}
IntentHolder intentHolder = new IntentHolder();
mContext.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Received CONFIGURED_NETWORKS_CHANGED_ACTION broadcast: " + intent);
intentHolder.intent = intent;
}
}, new IntentFilter(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
// Remove a WifiConfig // Remove a WifiConfig
assertTrue(mWifiManager.removeNetwork(netId)); assertTrue(mWifiManager.removeNetwork(netId));
assertFalse(mWifiManager.removeNetwork(notExist)); assertFalse(mWifiManager.removeNetwork(notExist));
assertFalse(existSSID(SSID1)); assertFalse(existSSID(SSID1));
assertFalse(existSSID(SSID2)); assertFalse(existSSID(SSID2));
// wait 10 seconds to ensure that broadcast wasn't received
Thread.sleep(DURATION);
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);
assertTrue(mWifiManager.saveConfiguration()); assertTrue(mWifiManager.saveConfiguration());
} finally { } finally {
reEnableNetworks(enabledSsids, mWifiManager.getConfiguredNetworks()); reEnableNetworks(enabledSsids, mWifiManager.getConfiguredNetworks());