Loading src/java/com/android/internal/telephony/NetworkTypeController.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -689,10 +689,16 @@ public class NetworkTypeController extends StateMachine { } } break; break; case EVENT_NR_FREQUENCY_CHANGED: case EVENT_NR_FREQUENCY_CHANGED: if (!isNrConnected()) { log("The nr state was changed. To update the state."); sendMessage(EVENT_NR_STATE_CHANGED); } if (!isNrMmwave()) { if (!isNrMmwave()) { // STATE_CONNECTED_MMWAVE -> STATE_CONNECTED transitionWithTimerTo(mNrConnectedState); transitionWithTimerTo(mNrConnectedState); } else { } else { updateOverrideNetworkType(); // STATE_CONNECTED -> STATE_CONNECTED_MMWAVE transitionTo(mNrConnectedState); } } break; break; case EVENT_DATA_ACTIVITY_CHANGED: case EVENT_DATA_ACTIVITY_CHANGED: Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +4 −4 Original line number Original line Diff line number Diff line Loading @@ -1619,14 +1619,14 @@ public class ServiceStateTracker extends Handler { mPhone.notifyPhysicalChannelConfiguration(list); mPhone.notifyPhysicalChannelConfiguration(list); mLastPhysicalChannelConfigList = list; mLastPhysicalChannelConfigList = list; boolean hasChanged = false; boolean hasChanged = false; if (updateNrFrequencyRangeFromPhysicalChannelConfigs(list, mSS)) { mNrFrequencyChangedRegistrants.notifyRegistrants(); hasChanged = true; } if (updateNrStateFromPhysicalChannelConfigs(list, mSS)) { if (updateNrStateFromPhysicalChannelConfigs(list, mSS)) { mNrStateChangedRegistrants.notifyRegistrants(); mNrStateChangedRegistrants.notifyRegistrants(); hasChanged = true; hasChanged = true; } } if (updateNrFrequencyRangeFromPhysicalChannelConfigs(list, mSS)) { mNrFrequencyChangedRegistrants.notifyRegistrants(); hasChanged = true; } hasChanged |= RatRatcheter hasChanged |= RatRatcheter .updateBandwidths(getBandwidthsFromConfigs(list), mSS); .updateBandwidths(getBandwidthsFromConfigs(list), mSS); Loading tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java +30 −1 Original line number Original line Diff line number Diff line Loading @@ -251,15 +251,44 @@ public class NetworkTypeControllerTest extends TelephonyTest { } } @Test @Test public void testEventNrFrequencyRangeChanged() throws Exception { public void testEventNrFrequencyRangeChangedFromNrConnectedMmwaveToNrConnected() throws Exception { testTransitionToCurrentStateNrConnectedMmwave(); testTransitionToCurrentStateNrConnectedMmwave(); doReturn(ServiceState.FREQUENCY_RANGE_LOW).when(mServiceState).getNrFrequencyRange(); doReturn(ServiceState.FREQUENCY_RANGE_LOW).when(mServiceState).getNrFrequencyRange(); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); processAllMessages(); processAllMessages(); assertEquals("connected", getCurrentState().getName()); assertEquals("connected", getCurrentState().getName()); } } @Test public void testEventNrFrequencyRangeChangedFromNrConnectedToNrConnectedMmwave() throws Exception { testTransitionToCurrentStateNrConnected(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); processAllMessages(); assertEquals("connected_mmwave", getCurrentState().getName()); } @Test public void testNrPhysicalChannelChangeFromNrConnectedMmwaveToLteConnected() throws Exception { testTransitionToCurrentStateNrConnectedMmwave(); doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mServiceState).getDataNetworkType(); doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); doReturn(PhoneInternalInterface.DataActivityState.DATAINANDOUT) .when(mPhone).getDataActivityState(); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); mNetworkTypeController.sendMessage(EVENT_NR_STATE_CHANGED); processAllMessages(); assertEquals("not_restricted_rrc_con", getCurrentState().getName()); } @Test @Test public void testEventDataActivityChanged() throws Exception { public void testEventDataActivityChanged() throws Exception { testTransitionToCurrentStateLteConnected(); testTransitionToCurrentStateLteConnected(); Loading Loading
src/java/com/android/internal/telephony/NetworkTypeController.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -689,10 +689,16 @@ public class NetworkTypeController extends StateMachine { } } break; break; case EVENT_NR_FREQUENCY_CHANGED: case EVENT_NR_FREQUENCY_CHANGED: if (!isNrConnected()) { log("The nr state was changed. To update the state."); sendMessage(EVENT_NR_STATE_CHANGED); } if (!isNrMmwave()) { if (!isNrMmwave()) { // STATE_CONNECTED_MMWAVE -> STATE_CONNECTED transitionWithTimerTo(mNrConnectedState); transitionWithTimerTo(mNrConnectedState); } else { } else { updateOverrideNetworkType(); // STATE_CONNECTED -> STATE_CONNECTED_MMWAVE transitionTo(mNrConnectedState); } } break; break; case EVENT_DATA_ACTIVITY_CHANGED: case EVENT_DATA_ACTIVITY_CHANGED: Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +4 −4 Original line number Original line Diff line number Diff line Loading @@ -1619,14 +1619,14 @@ public class ServiceStateTracker extends Handler { mPhone.notifyPhysicalChannelConfiguration(list); mPhone.notifyPhysicalChannelConfiguration(list); mLastPhysicalChannelConfigList = list; mLastPhysicalChannelConfigList = list; boolean hasChanged = false; boolean hasChanged = false; if (updateNrFrequencyRangeFromPhysicalChannelConfigs(list, mSS)) { mNrFrequencyChangedRegistrants.notifyRegistrants(); hasChanged = true; } if (updateNrStateFromPhysicalChannelConfigs(list, mSS)) { if (updateNrStateFromPhysicalChannelConfigs(list, mSS)) { mNrStateChangedRegistrants.notifyRegistrants(); mNrStateChangedRegistrants.notifyRegistrants(); hasChanged = true; hasChanged = true; } } if (updateNrFrequencyRangeFromPhysicalChannelConfigs(list, mSS)) { mNrFrequencyChangedRegistrants.notifyRegistrants(); hasChanged = true; } hasChanged |= RatRatcheter hasChanged |= RatRatcheter .updateBandwidths(getBandwidthsFromConfigs(list), mSS); .updateBandwidths(getBandwidthsFromConfigs(list), mSS); Loading
tests/telephonytests/src/com/android/internal/telephony/NetworkTypeControllerTest.java +30 −1 Original line number Original line Diff line number Diff line Loading @@ -251,15 +251,44 @@ public class NetworkTypeControllerTest extends TelephonyTest { } } @Test @Test public void testEventNrFrequencyRangeChanged() throws Exception { public void testEventNrFrequencyRangeChangedFromNrConnectedMmwaveToNrConnected() throws Exception { testTransitionToCurrentStateNrConnectedMmwave(); testTransitionToCurrentStateNrConnectedMmwave(); doReturn(ServiceState.FREQUENCY_RANGE_LOW).when(mServiceState).getNrFrequencyRange(); doReturn(ServiceState.FREQUENCY_RANGE_LOW).when(mServiceState).getNrFrequencyRange(); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); processAllMessages(); processAllMessages(); assertEquals("connected", getCurrentState().getName()); assertEquals("connected", getCurrentState().getName()); } } @Test public void testEventNrFrequencyRangeChangedFromNrConnectedToNrConnectedMmwave() throws Exception { testTransitionToCurrentStateNrConnected(); doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange(); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); processAllMessages(); assertEquals("connected_mmwave", getCurrentState().getName()); } @Test public void testNrPhysicalChannelChangeFromNrConnectedMmwaveToLteConnected() throws Exception { testTransitionToCurrentStateNrConnectedMmwave(); doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mServiceState).getDataNetworkType(); doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState(); doReturn(PhoneInternalInterface.DataActivityState.DATAINANDOUT) .when(mPhone).getDataActivityState(); mNetworkTypeController.sendMessage(EVENT_NR_FREQUENCY_CHANGED); mNetworkTypeController.sendMessage(EVENT_NR_STATE_CHANGED); processAllMessages(); assertEquals("not_restricted_rrc_con", getCurrentState().getName()); } @Test @Test public void testEventDataActivityChanged() throws Exception { public void testEventDataActivityChanged() throws Exception { testTransitionToCurrentStateLteConnected(); testTransitionToCurrentStateLteConnected(); Loading