Loading src/java/com/android/internal/telephony/NetworkTypeController.java +19 −10 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.telephony.CarrierConfigManager; import android.telephony.NetworkRegistrationInfo; import android.telephony.PhysicalChannelConfig; import android.telephony.ServiceState; import android.telephony.SubscriptionManager; import android.telephony.TelephonyDisplayInfo; import android.telephony.TelephonyManager; import android.telephony.data.DataCallResponse; Loading Loading @@ -134,14 +133,6 @@ public class NetworkTypeController extends StateMachine { @Override public void onReceive(Context context, Intent intent) { switch (intent.getAction()) { case CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED: if (intent.getIntExtra(SubscriptionManager.EXTRA_SLOT_INDEX, SubscriptionManager.INVALID_PHONE_INDEX) == mPhone.getPhoneId() && !intent.getBooleanExtra( CarrierConfigManager.EXTRA_REBROADCAST_ON_UNLOCK, false)) { sendMessage(EVENT_CARRIER_CONFIG_CHANGED); } break; case PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED: sendMessage(EVENT_DEVICE_IDLE_MODE_CHANGED); break; Loading @@ -149,6 +140,19 @@ public class NetworkTypeController extends StateMachine { } }; private final @NonNull CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener = new CarrierConfigManager.CarrierConfigChangeListener() { @Override public void onCarrierConfigChanged(int slotIndex, int subId, int carrierId, int specificCarrierId) { // CarrierConfigChangeListener wouldn't send notification on device unlock if (slotIndex == mPhone.getPhoneId()) { sendMessage(EVENT_CARRIER_CONFIG_CHANGED); } } }; private @NonNull Map<String, OverrideTimerRule> mOverrideTimerRules = new HashMap<>(); private @NonNull String mLteEnhancedPattern = ""; private @Annotation.OverrideNetworkType int mOverrideNetworkType; Loading Loading @@ -250,9 +254,10 @@ public class NetworkTypeController extends StateMachine { mPhone.getDeviceStateMonitor().registerForPhysicalChannelConfigNotifChanged(getHandler(), EVENT_PHYSICAL_CHANNEL_CONFIG_NOTIF_CHANGED, null); IntentFilter filter = new IntentFilter(); filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); filter.addAction(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED); mPhone.getContext().registerReceiver(mIntentReceiver, filter, null, mPhone); CarrierConfigManager ccm = mPhone.getContext().getSystemService(CarrierConfigManager.class); ccm.registerCarrierConfigChangeListener(Runnable::run, mCarrierConfigChangeListener); } private void unRegisterForAllEvents() { Loading @@ -261,6 +266,10 @@ public class NetworkTypeController extends StateMachine { mPhone.getServiceStateTracker().unregisterForServiceStateChanged(getHandler()); mPhone.getDeviceStateMonitor().unregisterForPhysicalChannelConfigNotifChanged(getHandler()); mPhone.getContext().unregisterReceiver(mIntentReceiver); CarrierConfigManager ccm = mPhone.getContext().getSystemService(CarrierConfigManager.class); if (mCarrierConfigChangeListener != null) { ccm.unregisterCarrierConfigChangeListener(mCarrierConfigChangeListener); } } private void parseCarrierConfigs() { Loading tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java +45 −37 Original line number Diff line number Diff line Loading @@ -20,12 +20,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.Intent; import android.os.AsyncResult; import android.os.Handler; import android.os.IPowerManager; Loading Loading @@ -63,6 +63,7 @@ import java.util.List; public class NetworkTypeControllerTest extends TelephonyTest { private NetworkTypeController mNetworkTypeController; private PersistableBundle mBundle; private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener; private IState getCurrentState() throws Exception { Method method = StateMachine.class.getDeclaredMethod("getCurrentState"); Loading @@ -76,11 +77,12 @@ public class NetworkTypeControllerTest extends TelephonyTest { method.invoke(mNetworkTypeController); } private void broadcastCarrierConfigs() { Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); intent.putExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, mPhone.getSubId()); intent.putExtra(CarrierConfigManager.EXTRA_SLOT_INDEX, mPhone.getPhoneId()); mContext.sendBroadcast(intent); private void sendCarrierConfigChanged() { if (mCarrierConfigChangeListener != null) { mCarrierConfigChangeListener.onCarrierConfigChanged(mPhone.getPhoneId(), mPhone.getSubId(), TelephonyManager.UNKNOWN_CARRIER_ID, TelephonyManager.UNKNOWN_CARRIER_ID); } processAllMessages(); } Loading @@ -92,7 +94,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave:5G_Plus,connected:5G,not_restricted_rrc_idle:5G," + "not_restricted_rrc_con:5G"); mBundle.putInt(CarrierConfigManager.KEY_LTE_PLUS_THRESHOLD_BANDWIDTH_KHZ_INT, 20000); broadcastCarrierConfigs(); sendCarrierConfigChanged(); replaceInstance(Handler.class, "mLooper", mDisplayInfoController, Looper.myLooper()); doReturn(RadioAccessFamily.getRafFromNetworkType( Loading @@ -101,8 +103,14 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); doReturn(new int[] {0}).when(mServiceState).getCellBandwidths(); // Capture listener to emulate the carrier config change notification used later ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> listenerArgumentCaptor = ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); processAllMessages(); verify(mCarrierConfigManager).registerCarrierConfigChangeListener(any(), listenerArgumentCaptor.capture()); mCarrierConfigChangeListener = listenerArgumentCaptor.getAllValues().get(0); } @After Loading Loading @@ -214,7 +222,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn("test_patternShowAdvanced").when(mServiceState).getOperatorAlphaLongRaw(); mBundle.putString(CarrierConfigManager.KEY_SHOW_CARRIER_DATA_ICON_PATTERN_STRING, ".*_patternShowAdvanced"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); updateOverrideNetworkType(); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO, mNetworkTypeController.getOverrideNetworkType()); Loading Loading @@ -287,7 +295,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); assertEquals("DefaultState", getCurrentState().getName()); Loading Loading @@ -316,7 +324,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); assertEquals("DefaultState", getCurrentState().getName()); Loading @@ -336,7 +344,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); assertEquals("DefaultState", getCurrentState().getName()); Loading Loading @@ -384,7 +392,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { List<PhysicalChannelConfig> lastPhysicalChannelConfigList = new ArrayList<>(); lastPhysicalChannelConfigList.add(physicalChannelConfig); doReturn(lastPhysicalChannelConfigList).when(mSST).getPhysicalChannelConfigList(); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED */); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); Loading @@ -407,7 +415,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { List<PhysicalChannelConfig> lastPhysicalChannelConfigList = new ArrayList<>(); lastPhysicalChannelConfigList.add(physicalChannelConfig); doReturn(lastPhysicalChannelConfigList).when(mSST).getPhysicalChannelConfigList(); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED */); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); Loading @@ -420,7 +428,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { assertEquals("DefaultState", getCurrentState().getName()); doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); processAllMessages(); Loading @@ -434,7 +442,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0xFF03); broadcastCarrierConfigs(); sendCarrierConfigChanged(); ArgumentCaptor<DataNetworkControllerCallback> dataNetworkControllerCallbackCaptor = ArgumentCaptor.forClass(DataNetworkControllerCallback.class); Loading @@ -453,7 +461,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0xFF00); broadcastCarrierConfigs(); sendCarrierConfigChanged(); ArgumentCaptor<DataNetworkControllerCallback> dataNetworkControllerCallbackCaptor = ArgumentCaptor.forClass(DataNetworkControllerCallback.class); Loading @@ -472,7 +480,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0xFF03); broadcastCarrierConfigs(); sendCarrierConfigChanged(); ArgumentCaptor<DataNetworkControllerCallback> dataNetworkControllerCallbackCaptor = ArgumentCaptor.forClass(DataNetworkControllerCallback.class); Loading Loading @@ -563,7 +571,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); testTransitionToCurrentStateNrConnectedMmwave(); doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); Loading Loading @@ -597,7 +605,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_CONFIGURATION_STRING, "connected_mmwave:5G_Plus,connected:5G"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); // Transition to LTE connected state doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); Loading Loading @@ -625,7 +633,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_CONFIGURATION_STRING, "connected_mmwave:5G_Plus,connected:5G"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); // Transition to idle state doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); Loading Loading @@ -682,7 +690,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); testTransitionToCurrentStateLteConnected_usingUserDataForRrcDetection(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); Loading Loading @@ -741,7 +749,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -772,7 +780,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); IPowerManager powerManager = mock(IPowerManager.class); PowerManager pm = new PowerManager(mContext, powerManager, mock(IThermalService.class), Loading Loading @@ -801,7 +809,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -837,7 +845,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -867,7 +875,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -899,7 +907,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -937,7 +945,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -980,7 +988,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -1029,7 +1037,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -1073,7 +1081,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -1122,7 +1130,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -1160,7 +1168,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); mNetworkTypeController.sendMessage(4 /* EVENT_PHYSICAL_LINK_STATUS_CHANGED */, Loading Loading @@ -1206,7 +1214,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); // should trigger 10 second primary timer doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(mServiceState).getNrState(); Loading Loading @@ -1254,7 +1262,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); doReturn(new int[] {19999}).when(mServiceState).getCellBandwidths(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_THRESHOLD_BANDWIDTH_KHZ_INT, 20000); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); processAllMessages(); Loading @@ -1268,7 +1276,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); doReturn(new int[] {20001}).when(mServiceState).getCellBandwidths(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_THRESHOLD_BANDWIDTH_KHZ_INT, 20000); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED */); processAllMessages(); Loading @@ -1282,7 +1290,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putBoolean(CarrierConfigManager.KEY_ENABLE_NR_ADVANCED_WHILE_ROAMING_BOOL, false); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); processAllMessages(); Loading Loading
src/java/com/android/internal/telephony/NetworkTypeController.java +19 −10 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.telephony.CarrierConfigManager; import android.telephony.NetworkRegistrationInfo; import android.telephony.PhysicalChannelConfig; import android.telephony.ServiceState; import android.telephony.SubscriptionManager; import android.telephony.TelephonyDisplayInfo; import android.telephony.TelephonyManager; import android.telephony.data.DataCallResponse; Loading Loading @@ -134,14 +133,6 @@ public class NetworkTypeController extends StateMachine { @Override public void onReceive(Context context, Intent intent) { switch (intent.getAction()) { case CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED: if (intent.getIntExtra(SubscriptionManager.EXTRA_SLOT_INDEX, SubscriptionManager.INVALID_PHONE_INDEX) == mPhone.getPhoneId() && !intent.getBooleanExtra( CarrierConfigManager.EXTRA_REBROADCAST_ON_UNLOCK, false)) { sendMessage(EVENT_CARRIER_CONFIG_CHANGED); } break; case PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED: sendMessage(EVENT_DEVICE_IDLE_MODE_CHANGED); break; Loading @@ -149,6 +140,19 @@ public class NetworkTypeController extends StateMachine { } }; private final @NonNull CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener = new CarrierConfigManager.CarrierConfigChangeListener() { @Override public void onCarrierConfigChanged(int slotIndex, int subId, int carrierId, int specificCarrierId) { // CarrierConfigChangeListener wouldn't send notification on device unlock if (slotIndex == mPhone.getPhoneId()) { sendMessage(EVENT_CARRIER_CONFIG_CHANGED); } } }; private @NonNull Map<String, OverrideTimerRule> mOverrideTimerRules = new HashMap<>(); private @NonNull String mLteEnhancedPattern = ""; private @Annotation.OverrideNetworkType int mOverrideNetworkType; Loading Loading @@ -250,9 +254,10 @@ public class NetworkTypeController extends StateMachine { mPhone.getDeviceStateMonitor().registerForPhysicalChannelConfigNotifChanged(getHandler(), EVENT_PHYSICAL_CHANNEL_CONFIG_NOTIF_CHANGED, null); IntentFilter filter = new IntentFilter(); filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); filter.addAction(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED); mPhone.getContext().registerReceiver(mIntentReceiver, filter, null, mPhone); CarrierConfigManager ccm = mPhone.getContext().getSystemService(CarrierConfigManager.class); ccm.registerCarrierConfigChangeListener(Runnable::run, mCarrierConfigChangeListener); } private void unRegisterForAllEvents() { Loading @@ -261,6 +266,10 @@ public class NetworkTypeController extends StateMachine { mPhone.getServiceStateTracker().unregisterForServiceStateChanged(getHandler()); mPhone.getDeviceStateMonitor().unregisterForPhysicalChannelConfigNotifChanged(getHandler()); mPhone.getContext().unregisterReceiver(mIntentReceiver); CarrierConfigManager ccm = mPhone.getContext().getSystemService(CarrierConfigManager.class); if (mCarrierConfigChangeListener != null) { ccm.unregisterCarrierConfigChangeListener(mCarrierConfigChangeListener); } } private void parseCarrierConfigs() { Loading
tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java +45 −37 Original line number Diff line number Diff line Loading @@ -20,12 +20,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.Intent; import android.os.AsyncResult; import android.os.Handler; import android.os.IPowerManager; Loading Loading @@ -63,6 +63,7 @@ import java.util.List; public class NetworkTypeControllerTest extends TelephonyTest { private NetworkTypeController mNetworkTypeController; private PersistableBundle mBundle; private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener; private IState getCurrentState() throws Exception { Method method = StateMachine.class.getDeclaredMethod("getCurrentState"); Loading @@ -76,11 +77,12 @@ public class NetworkTypeControllerTest extends TelephonyTest { method.invoke(mNetworkTypeController); } private void broadcastCarrierConfigs() { Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); intent.putExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, mPhone.getSubId()); intent.putExtra(CarrierConfigManager.EXTRA_SLOT_INDEX, mPhone.getPhoneId()); mContext.sendBroadcast(intent); private void sendCarrierConfigChanged() { if (mCarrierConfigChangeListener != null) { mCarrierConfigChangeListener.onCarrierConfigChanged(mPhone.getPhoneId(), mPhone.getSubId(), TelephonyManager.UNKNOWN_CARRIER_ID, TelephonyManager.UNKNOWN_CARRIER_ID); } processAllMessages(); } Loading @@ -92,7 +94,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave:5G_Plus,connected:5G,not_restricted_rrc_idle:5G," + "not_restricted_rrc_con:5G"); mBundle.putInt(CarrierConfigManager.KEY_LTE_PLUS_THRESHOLD_BANDWIDTH_KHZ_INT, 20000); broadcastCarrierConfigs(); sendCarrierConfigChanged(); replaceInstance(Handler.class, "mLooper", mDisplayInfoController, Looper.myLooper()); doReturn(RadioAccessFamily.getRafFromNetworkType( Loading @@ -101,8 +103,14 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); doReturn(new int[] {0}).when(mServiceState).getCellBandwidths(); // Capture listener to emulate the carrier config change notification used later ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> listenerArgumentCaptor = ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); processAllMessages(); verify(mCarrierConfigManager).registerCarrierConfigChangeListener(any(), listenerArgumentCaptor.capture()); mCarrierConfigChangeListener = listenerArgumentCaptor.getAllValues().get(0); } @After Loading Loading @@ -214,7 +222,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn("test_patternShowAdvanced").when(mServiceState).getOperatorAlphaLongRaw(); mBundle.putString(CarrierConfigManager.KEY_SHOW_CARRIER_DATA_ICON_PATTERN_STRING, ".*_patternShowAdvanced"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); updateOverrideNetworkType(); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO, mNetworkTypeController.getOverrideNetworkType()); Loading Loading @@ -287,7 +295,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); assertEquals("DefaultState", getCurrentState().getName()); Loading Loading @@ -316,7 +324,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); assertEquals("DefaultState", getCurrentState().getName()); Loading @@ -336,7 +344,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); assertEquals("DefaultState", getCurrentState().getName()); Loading Loading @@ -384,7 +392,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { List<PhysicalChannelConfig> lastPhysicalChannelConfigList = new ArrayList<>(); lastPhysicalChannelConfigList.add(physicalChannelConfig); doReturn(lastPhysicalChannelConfigList).when(mSST).getPhysicalChannelConfigList(); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED */); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); Loading @@ -407,7 +415,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { List<PhysicalChannelConfig> lastPhysicalChannelConfigList = new ArrayList<>(); lastPhysicalChannelConfigList.add(physicalChannelConfig); doReturn(lastPhysicalChannelConfigList).when(mSST).getPhysicalChannelConfigList(); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED */); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); Loading @@ -420,7 +428,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { assertEquals("DefaultState", getCurrentState().getName()); doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); processAllMessages(); Loading @@ -434,7 +442,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0xFF03); broadcastCarrierConfigs(); sendCarrierConfigChanged(); ArgumentCaptor<DataNetworkControllerCallback> dataNetworkControllerCallbackCaptor = ArgumentCaptor.forClass(DataNetworkControllerCallback.class); Loading @@ -453,7 +461,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0xFF00); broadcastCarrierConfigs(); sendCarrierConfigChanged(); ArgumentCaptor<DataNetworkControllerCallback> dataNetworkControllerCallbackCaptor = ArgumentCaptor.forClass(DataNetworkControllerCallback.class); Loading @@ -472,7 +480,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0xFF03); broadcastCarrierConfigs(); sendCarrierConfigChanged(); ArgumentCaptor<DataNetworkControllerCallback> dataNetworkControllerCallbackCaptor = ArgumentCaptor.forClass(DataNetworkControllerCallback.class); Loading Loading @@ -563,7 +571,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); testTransitionToCurrentStateNrConnectedMmwave(); doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); Loading Loading @@ -597,7 +605,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_CONFIGURATION_STRING, "connected_mmwave:5G_Plus,connected:5G"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); // Transition to LTE connected state doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); Loading Loading @@ -625,7 +633,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_CONFIGURATION_STRING, "connected_mmwave:5G_Plus,connected:5G"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); // Transition to idle state doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); Loading Loading @@ -682,7 +690,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported( TelephonyManager.CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED); mNetworkTypeController = new NetworkTypeController(mPhone, mDisplayInfoController); broadcastCarrierConfigs(); sendCarrierConfigChanged(); processAllMessages(); testTransitionToCurrentStateLteConnected_usingUserDataForRrcDetection(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); Loading Loading @@ -741,7 +749,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -772,7 +780,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); IPowerManager powerManager = mock(IPowerManager.class); PowerManager pm = new PowerManager(mContext, powerManager, mock(IThermalService.class), Loading Loading @@ -801,7 +809,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -837,7 +845,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -867,7 +875,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -899,7 +907,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -937,7 +945,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -980,7 +988,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA, Loading Loading @@ -1029,7 +1037,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -1073,7 +1081,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -1122,7 +1130,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); assertEquals("connected_mmwave", getCurrentState().getName()); assertEquals(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED, Loading Loading @@ -1160,7 +1168,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); mNetworkTypeController.sendMessage(4 /* EVENT_PHYSICAL_LINK_STATUS_CHANGED */, Loading Loading @@ -1206,7 +1214,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { "connected_mmwave,any,10;connected,any,10;not_restricted_rrc_con,any,10"); mBundle.putString(CarrierConfigManager.KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, "connected_mmwave,any,30"); broadcastCarrierConfigs(); sendCarrierConfigChanged(); // should trigger 10 second primary timer doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(mServiceState).getNrState(); Loading Loading @@ -1254,7 +1262,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); doReturn(new int[] {19999}).when(mServiceState).getCellBandwidths(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_THRESHOLD_BANDWIDTH_KHZ_INT, 20000); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); processAllMessages(); Loading @@ -1268,7 +1276,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); doReturn(new int[] {20001}).when(mServiceState).getCellBandwidths(); mBundle.putInt(CarrierConfigManager.KEY_NR_ADVANCED_THRESHOLD_BANDWIDTH_KHZ_INT, 20000); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED */); processAllMessages(); Loading @@ -1282,7 +1290,7 @@ public class NetworkTypeControllerTest extends TelephonyTest { doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mBundle.putBoolean(CarrierConfigManager.KEY_ENABLE_NR_ADVANCED_WHILE_ROAMING_BOOL, false); broadcastCarrierConfigs(); sendCarrierConfigChanged(); mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */); processAllMessages(); Loading