summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy Chen <jimmycmchen@google.com>2020-06-17 08:32:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-06-17 08:32:36 +0000
commit004d0bb26f44f0265477909e6119673a5a8df76c (patch)
treeb1d0542d3230f77da1b4573341f4ab44a496100c
parentc1e74f5c89a388568d5ab5817356dd39456a8fe5 (diff)
parentf9db9eb1fd52975a6570fdd1bd346efb896b890c (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.java11
-rw-r--r--tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java118
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();