diff options
author | Jimmy Chen <jimmycmchen@google.com> | 2020-06-17 08:32:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-06-17 08:32:36 +0000 |
commit | 004d0bb26f44f0265477909e6119673a5a8df76c (patch) | |
tree | b1d0542d3230f77da1b4573341f4ab44a496100c | |
parent | c1e74f5c89a388568d5ab5817356dd39456a8fe5 (diff) | |
parent | f9db9eb1fd52975a6570fdd1bd346efb896b890c (diff) |
Merge "wifi: remove LTE voice network check for wifi off deferring" into rvc-dev
-rw-r--r-- | service/java/com/android/server/wifi/ClientModeManager.java | 11 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java | 118 |
2 files changed, 20 insertions, 109 deletions
diff --git a/service/java/com/android/server/wifi/ClientModeManager.java b/service/java/com/android/server/wifi/ClientModeManager.java index 608933950..4fb4b870d 100644 --- a/service/java/com/android/server/wifi/ClientModeManager.java +++ b/service/java/com/android/server/wifi/ClientModeManager.java @@ -35,7 +35,6 @@ import android.telephony.AccessNetworkConstants; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; -import android.telephony.TelephonyManager; import android.telephony.ims.ImsException; import android.telephony.ims.ImsMmTelManager; import android.telephony.ims.ImsReasonInfo; @@ -322,16 +321,6 @@ public class ClientModeManager implements ActiveModeManager { return 0; } - TelephonyManager defaultVoiceTelephonyManager = - mContext.getSystemService(TelephonyManager.class) - .createForSubscriptionId(subId); - // if LTE is available, no delay needed as IMS will be registered over LTE - if (defaultVoiceTelephonyManager.getVoiceNetworkType() - == TelephonyManager.NETWORK_TYPE_LTE) { - Log.d(TAG, "LTE available and is default voice network type"); - return 0; - } - CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE); PersistableBundle config = configManager.getConfigForSubId(subId); diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java index 1102d1f26..92f3d9bac 100644 --- a/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java @@ -52,7 +52,6 @@ import android.telephony.AccessNetworkConstants; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; -import android.telephony.TelephonyManager; import android.telephony.ims.ImsMmTelManager; import android.telephony.ims.RegistrationManager; import android.test.suitebuilder.annotation.SmallTest; @@ -96,7 +95,6 @@ public class ClientModeManagerTest extends WifiBaseTest { @Mock SarManager mSarManager; @Mock WakeupController mWakeupController; @Mock ClientModeImpl mClientModeImpl; - @Mock TelephonyManager mTelephonyManager; @Mock CarrierConfigManager mCarrierConfigManager; @Mock PersistableBundle mCarrierConfigBundle; @Mock ImsMmTelManager mImsMmTelManager; @@ -125,7 +123,6 @@ public class ClientModeManagerTest extends WifiBaseTest { * from the context. */ private void setUpSystemServiceForContext() { - when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager); when(mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE)) .thenReturn(mCarrierConfigManager); when(mContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)) @@ -199,10 +196,6 @@ public class ClientModeManagerTest extends WifiBaseTest { when(mActiveSubscriptionInfo.getSubscriptionId()).thenReturn(TEST_ACTIVE_SUBSCRIPTION_ID); when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(mSubscriptionInfoList); - when(mTelephonyManager.createForSubscriptionId(eq(TEST_ACTIVE_SUBSCRIPTION_ID))) - .thenReturn(mTelephonyManager); - when(mTelephonyManager.getVoiceNetworkType()) - .thenReturn(TelephonyManager.NETWORK_TYPE_UNKNOWN); when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mCarrierConfigBundle); when(mCarrierConfigBundle .getInt(eq(CarrierConfigManager.Ims.KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT))) @@ -604,7 +597,6 @@ public class ClientModeManagerTest extends WifiBaseTest { private void setUpVoWifiTest( boolean isWifiCallingAvailable, - int voiceNetworkType, int wifiOffDeferringTimeMs) { mCurrentImsRegistrationState = (isWifiCallingAvailable) ? RegistrationManager.REGISTRATION_STATE_REGISTERED @@ -613,8 +605,6 @@ public class ClientModeManagerTest extends WifiBaseTest { ? AccessNetworkConstants.TRANSPORT_TYPE_WLAN : AccessNetworkConstants.TRANSPORT_TYPE_WWAN; when(mImsMmTelManager.isAvailable(anyInt(), anyInt())).thenReturn(isWifiCallingAvailable); - when(mTelephonyManager.getVoiceNetworkType()) - .thenReturn(voiceNetworkType); when(mCarrierConfigBundle .getInt(eq(CarrierConfigManager.Ims.KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT))) .thenReturn(wifiOffDeferringTimeMs); @@ -626,7 +616,6 @@ public class ClientModeManagerTest extends WifiBaseTest { @Test public void clientModeStopWithWifiOffDeferringTimeNoWifiCalling() throws Exception { setUpVoWifiTest(false, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -652,7 +641,6 @@ public class ClientModeManagerTest extends WifiBaseTest { @Test public void clientModeStopWithWifiOffDeferringTimeAndImsOnWwan() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); mCurrentImsConnectionType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN; @@ -678,41 +666,11 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * ClientMode stop properly with IMS deferring time, Wifi calling, and LTE. + * ClientMode stop properly with IMS deferring time, Wifi calling. */ @Test - public void clientModeStopWithWifiOffDeferringTimeWithWifiCallingAndLte() throws Exception { + public void clientModeStopWithWifiOffDeferringTimeWithWifiCalling() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_LTE, - TEST_WIFI_OFF_DEFERRING_TIME_MS); - - startClientInConnectModeAndVerifyEnabled(); - reset(mContext, mListener); - setUpSystemServiceForContext(); - mClientModeManager.stop(); - mLooper.dispatchAll(); - verify(mListener).onStopped(); - - verify(mImsMmTelManager, never()).registerImsRegistrationCallback(any(), any()); - verify(mImsMmTelManager, never()).unregisterImsRegistrationCallback(any()); - verify(mWifiMetrics).noteWifiOff(eq(false), eq(false), anyInt()); - - verifyConnectModeNotificationsForCleanShutdown(WIFI_STATE_ENABLED); - - // on an explicit stop, we should not trigger the callback - verifyNoMoreInteractions(mListener); - } - - /** - * ClientMode stop properly with IMS deferring time and Wifi calling, but no LTE. - * - * IMS deregistration is done before reaching the timeout. - */ - @Test - public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingNoLteOnImsUnregistered() - throws Exception { - setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -751,15 +709,14 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * ClientMode stop properly with IMS deferring time and Wifi calling, but no LTE. + * ClientMode stop properly with IMS deferring time and Wifi calling. * * IMS deregistration is done before reaching the timeout. */ @Test - public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingNoLteOnImsRegistered() + public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingOnImsRegistered() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -795,15 +752,14 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * ClientMode stop properly with IMS deferring time and Wifi calling, but no LTE. + * ClientMode stop properly with IMS deferring time and Wifi calling. * * IMS deregistration is NOT done before reaching the timeout. */ @Test - public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingNoLteTimedOut() + public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingTimedOut() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -840,15 +796,14 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * ClientMode stop properly with IMS deferring time and Wifi calling, but no LTE. + * ClientMode stop properly with IMS deferring time and Wifi calling. * * IMS deregistration is NOT done before reaching the timeout with multiple stop calls. */ @Test - public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingNoLteTimedOutMultipleStop() + public void clientModeStopWithWifiOffDeferringTimeAndWifiCallingTimedOutMultipleStop() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -888,17 +843,16 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * ClientMode does not stop with IMS deferring time and Wifi calling, but no LTE + * ClientMode does not stop with IMS deferring time and Wifi calling * when the target role is not ROLE_UNSPECIFIED. * * Simulate a user toggle wifi multiple times before doing wifi stop and stay at * ON position. */ @Test - public void clientModeNotStopWithWifiOffDeferringTimeAndWifiCallingNoLteTimedOut() + public void clientModeNotStopWithWifiOffDeferringTimeAndWifiCallingTimedOut() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -947,7 +901,6 @@ public class ClientModeManagerTest extends WifiBaseTest { @Test public void switchToScanOnlyModeWithWifiOffDeferringTimeNoWifiCalling() throws Exception { setUpVoWifiTest(false, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -971,7 +924,6 @@ public class ClientModeManagerTest extends WifiBaseTest { @Test public void switchToScanOnlyModeWithWifiOffDeferringTimeAndImsOnWwan() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); mCurrentImsConnectionType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN; @@ -996,40 +948,14 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * Switch to scan mode properly with IMS deferring time, Wifi calling, and LTE. - */ - @Test - public void - switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingAndLte() throws Exception { - setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_LTE, - TEST_WIFI_OFF_DEFERRING_TIME_MS); - - startClientInConnectModeAndVerifyEnabled(); - reset(mContext, mListener); - setUpSystemServiceForContext(); - when(mWifiNative.switchClientInterfaceToScanMode(any())) - .thenReturn(true); - - mClientModeManager.setRole(ActiveModeManager.ROLE_CLIENT_SCAN_ONLY); - mLooper.dispatchAll(); - - verify(mWifiNative).switchClientInterfaceToScanMode(TEST_INTERFACE_NAME); - verify(mImsMmTelManager, never()).registerImsRegistrationCallback(any(), any()); - verify(mImsMmTelManager, never()).unregisterImsRegistrationCallback(any()); - verify(mWifiMetrics).noteWifiOff(eq(false), eq(false), anyInt()); - } - - /** - * Switch to scan mode properly with IMS deferring time and Wifi calling, but no LTE. + * Switch to scan mode properly with IMS deferring time and Wifi calling. * * IMS deregistration is done before reaching the timeout. */ @Test - public void switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingNoLteOnImsUnregistered() + public void switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingOnImsUnregistered() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -1066,15 +992,14 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * Switch to scan mode properly with IMS deferring time and Wifi calling, but no LTE. + * Switch to scan mode properly with IMS deferring time and Wifi calling. * * IMS deregistration is done before reaching the timeout. */ @Test - public void switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingNoLteOnImsRegistered() + public void switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingOnImsRegistered() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -1108,15 +1033,14 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * Switch to scan mode properly with IMS deferring time and Wifi calling, but no LTE. + * Switch to scan mode properly with IMS deferring time and Wifi calling. * * IMS deregistration is NOT done before reaching the timeout. */ @Test - public void switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingNoLteTimedOut() + public void switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingTimedOut() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -1152,16 +1076,15 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * Switch to scan mode properly with IMS deferring time and Wifi calling, but no LTE. + * Switch to scan mode properly with IMS deferring time and Wifi calling. * * IMS deregistration is NOT done before reaching the timeout with multiple stop calls. */ @Test public void - switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingNoLteTimedOutMultipleSwitch() + switchToScanOnlyModeWithWifiOffDeferringTimeAndWifiCallingTimedOutMultipleSwitch() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); @@ -1199,7 +1122,7 @@ public class ClientModeManagerTest extends WifiBaseTest { } /** - * Stay at connected mode with IMS deferring time and Wifi calling, but no LTE + * Stay at connected mode with IMS deferring time and Wifi calling * when the target state is not ROLE_CLIENT_SCAN_ONLY. * * Simulate a user toggle wifi multiple times before doing wifi stop and stay at @@ -1207,10 +1130,9 @@ public class ClientModeManagerTest extends WifiBaseTest { */ @Test public void - stayAtConnectedModeWithWifiOffDeferringTimeAndWifiCallingNoLteTimedOutMultipleSwitch() + stayAtConnectedModeWithWifiOffDeferringTimeAndWifiCallingTimedOutMultipleSwitch() throws Exception { setUpVoWifiTest(true, - TelephonyManager.NETWORK_TYPE_UNKNOWN, TEST_WIFI_OFF_DEFERRING_TIME_MS); startClientInConnectModeAndVerifyEnabled(); |