summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Su <dysu@google.com>2019-10-22 15:41:27 -0700
committerDavid Su <dysu@google.com>2019-10-23 18:21:24 -0700
commitc67c01d936b541857223d55b6afccd8f976daa61 (patch)
treea39873bb14a97c089d341be05ab90a17abeec80d /tests
parentfcf90c3ee9492cd3da770785c3ca58d1da2a6b2c (diff)
Do not clear Wifi country code upon entering airplane mode
Previously, Wifi and telephony would both clear the country code upon entering airplane mode, and telephony would update the Wifi country code upon exiting airplane mode. Now telephony no longer clears the country code immediately upon entering airplane mode, but Wifi will still clear its country code immediately. If airplane mode is exited before telephony clears the country code, telephony will not update Wifi's country code since it believes that Wifi still has it's previous country code. With a cleared country code, Wifi hotspot will always use the 2.4 GHz band, even when the user specified that 5 GHz is preferred. Fix this by not clearing the Wifi country code immediately upon entering airplane mode. Telephony will do the right thing and clear/update the Wifi country code as needed. Bug: 140392836 Test: atest FrameworksWifiTests Test: reboot device, turn airplane mode on, then quickly turn it off, turn on hotspot with 5 GHz preferred, verify that hotspot is indeed on 5 GHz band. Change-Id: I80ab05bed795453077fc1d9d476d91fda1db5ddf Merged-In: I80ab05bed795453077fc1d9d476d91fda1db5ddf
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index 3f7d73bb4..bd8129a38 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -3430,6 +3430,25 @@ public class WifiServiceImplTest {
}
/**
+ * Verifies that entering airplane mode does not reset country code.
+ */
+ @Test
+ public void testEnterAirplaneModeNotResetCountryCode() {
+ mWifiServiceImpl.checkAndStartWifi();
+ verify(mContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ (IntentFilter) argThat((IntentFilter filter) ->
+ filter.hasAction(Intent.ACTION_AIRPLANE_MODE_CHANGED)));
+
+ when(mSettingsStore.isAirplaneModeOn()).thenReturn(true);
+
+ // Send the broadcast
+ Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+ mBroadcastReceiverCaptor.getValue().onReceive(mContext, intent);
+
+ verifyNoMoreInteractions(mWifiCountryCode);
+ }
+
+ /**
* Verify calls to notify users of a softap config change check the NETWORK_SETTINGS permission.
*/
@Test