aboutsummaryrefslogtreecommitdiff
path: root/tests/telephonytests
diff options
context:
space:
mode:
authorSarah Chin <sarahchin@google.com>2020-06-12 13:56:33 -0700
committerSarah Chin <sarahchin@google.com>2020-06-12 13:56:36 -0700
commitd102c20b247afbe910ca6a3c5c18349017e8a188 (patch)
treef46e7ac0c0ff733bffbc91706ab5e3079420b7ab /tests/telephonytests
parent73e9d62d38c7f2c3b094d34a69eceb055985d9fd (diff)
downloadtelephony-d102c20b247afbe910ca6a3c5c18349017e8a188.tar.gz
Update TelephonyDisplayInfo on preferred network type changed
Test: atest NetworkTypeControllerTest Bug: 157859849 Change-Id: Id7f2b276b7886f6b23d7e6724e6a161555fc7dcc
Diffstat (limited to 'tests/telephonytests')
-rw-r--r--tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java57
1 files changed, 56 insertions, 1 deletions
diff --git a/tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java
index d4af1b6498..b34821e702 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java
@@ -54,6 +54,9 @@ public class NetworkTypeControllerTest extends TelephonyTest {
private static final int EVENT_CARRIER_CONFIG_CHANGED = 7;
private static final int EVENT_PRIMARY_TIMER_EXPIRED = 8;
private static final int EVENT_SECONDARY_TIMER_EXPIRED = 9;
+ private static final int EVENT_RADIO_OFF_OR_UNAVAILABLE = 10;
+ private static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 11;
+ private static final int EVENT_PREFERRED_NETWORK_MODE_CHANGED = 12;
private NetworkTypeController mNetworkTypeController;
private PersistableBundle mBundle;
@@ -88,7 +91,7 @@ public class NetworkTypeControllerTest extends TelephonyTest {
broadcastCarrierConfigs();
replaceInstance(Handler.class, "mLooper", mDisplayInfoController, Looper.myLooper());
- doReturn((int) TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA).when(mPhone)
+ doReturn(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA).when(mPhone)
.getCachedPreferredNetworkType();
mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController);
}
@@ -317,6 +320,58 @@ public class NetworkTypeControllerTest extends TelephonyTest {
}
@Test
+ public void testEventRadioOffOrUnavailable() throws Exception {
+ testTransitionToCurrentStateNrConnected();
+ assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA,
+ mNetworkTypeController.getOverrideNetworkType());
+
+ doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(mServiceState).getNrState();
+ doReturn(TelephonyManager.NETWORK_TYPE_UNKNOWN).when(mServiceState).getDataNetworkType();
+
+ mNetworkTypeController.sendMessage(EVENT_RADIO_OFF_OR_UNAVAILABLE);
+ processAllMessages();
+ assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE,
+ mNetworkTypeController.getOverrideNetworkType());
+ }
+
+ @Test
+ public void testEventDataConnectionStateChanged() throws Exception {
+ testTransitionToCurrentStateNrConnected();
+ assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA,
+ mNetworkTypeController.getOverrideNetworkType());
+
+ // TelephonyDisplayInfo can't be mocked since it's final, so create a new one for testing
+ TelephonyDisplayInfo telephonyDisplayInfo = new TelephonyDisplayInfo(
+ TelephonyManager.NETWORK_TYPE_UNKNOWN,
+ TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
+
+ doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(mServiceState).getNrState();
+ doReturn(telephonyDisplayInfo).when(mDisplayInfoController).getTelephonyDisplayInfo();
+ doReturn(TelephonyManager.NETWORK_TYPE_HSPAP).when(mServiceState).getDataNetworkType();
+
+ mNetworkTypeController.sendMessage(EVENT_DATA_CONNECTION_STATE_CHANGED);
+ processAllMessages();
+ assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE,
+ mNetworkTypeController.getOverrideNetworkType());
+ }
+
+ @Test
+ public void testEventPreferredNetworkModeChanged() throws Exception {
+ testTransitionToCurrentStateNrConnected();
+ assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA,
+ mNetworkTypeController.getOverrideNetworkType());
+
+ // remove NR from preferred network types
+ doReturn(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA).when(mPhone)
+ .getCachedPreferredNetworkType();
+
+ mNetworkTypeController.sendMessage(EVENT_PREFERRED_NETWORK_MODE_CHANGED);
+ processAllMessages();
+ assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE,
+ mNetworkTypeController.getOverrideNetworkType());
+ }
+
+ @Test
public void testPrimaryTimerExpire() throws Exception {
doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING,