Loading src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java +10 −3 Original line number Diff line number Diff line Loading @@ -711,6 +711,9 @@ public class SatelliteSessionController extends StateMachine { && datagramTransferState.receiveState == SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE) { startNbIotInactivityTimer(); } else if (isSending(datagramTransferState.sendState) || isReceiving(datagramTransferState.receiveState)) { restartNbIotInactivityTimer(); } } } Loading Loading @@ -761,9 +764,8 @@ public class SatelliteSessionController extends StateMachine { private void handleEventDatagramTransferStateChanged( @NonNull DatagramTransferState datagramTransferState) { if (datagramTransferState.sendState == SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING || datagramTransferState.receiveState == SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING) { if (isSending(datagramTransferState.sendState) || isReceiving(datagramTransferState.receiveState)) { transitionTo(mTransferringState); } } Loading Loading @@ -974,6 +976,11 @@ public class SatelliteSessionController extends StateMachine { R.integer.config_satellite_nb_iot_inactivity_timeout_millis); } private void restartNbIotInactivityTimer() { stopNbIotInactivityTimer(); startNbIotInactivityTimer(); } private void startNbIotInactivityTimer() { if (isNbIotInactivityTimerStarted()) { logd("NB IOT inactivity timer is already started"); Loading tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteSessionControllerTest.java +30 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.telephony.satellite; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED; Loading Loading @@ -571,6 +572,35 @@ public class SatelliteSessionControllerTest extends TelephonyTest { SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED); clearInvocations(mMockDatagramController); // Start receiving datagrams mTestSatelliteSessionController.onDatagramTransferStateChanged( SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS); processAllMessages(); // SatelliteSessionController should move to TRANSFERRING state. assertSuccessfulModemStateChangedCallback(mTestSatelliteModemStateCallback, SatelliteManager.SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING); assertEquals(STATE_TRANSFERRING, mTestSatelliteSessionController.getCurrentStateName()); assertFalse(mTestSatelliteSessionController.isNbIotInactivityTimerStarted()); verify(mMockDatagramController).onSatelliteModemStateChanged( SatelliteManager.SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING); clearInvocations(mMockDatagramController); // Receiving datagrams is successful and done. mTestSatelliteSessionController.onDatagramTransferStateChanged( SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE); processAllMessages(); // SatelliteSessionController should move to CONNECTED state. assertSuccessfulModemStateChangedCallback(mTestSatelliteModemStateCallback, SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED); assertEquals(STATE_CONNECTED, mTestSatelliteSessionController.getCurrentStateName()); assertTrue(mTestSatelliteSessionController.isNbIotInactivityTimerStarted()); verify(mMockDatagramController).onSatelliteModemStateChanged( SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED); clearInvocations(mMockDatagramController); // Wait for timeout moveTimeForward(TEST_SATELLITE_TIMEOUT_MILLIS); processAllMessages(); Loading Loading
src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java +10 −3 Original line number Diff line number Diff line Loading @@ -711,6 +711,9 @@ public class SatelliteSessionController extends StateMachine { && datagramTransferState.receiveState == SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE) { startNbIotInactivityTimer(); } else if (isSending(datagramTransferState.sendState) || isReceiving(datagramTransferState.receiveState)) { restartNbIotInactivityTimer(); } } } Loading Loading @@ -761,9 +764,8 @@ public class SatelliteSessionController extends StateMachine { private void handleEventDatagramTransferStateChanged( @NonNull DatagramTransferState datagramTransferState) { if (datagramTransferState.sendState == SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING || datagramTransferState.receiveState == SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING) { if (isSending(datagramTransferState.sendState) || isReceiving(datagramTransferState.receiveState)) { transitionTo(mTransferringState); } } Loading Loading @@ -974,6 +976,11 @@ public class SatelliteSessionController extends StateMachine { R.integer.config_satellite_nb_iot_inactivity_timeout_millis); } private void restartNbIotInactivityTimer() { stopNbIotInactivityTimer(); startNbIotInactivityTimer(); } private void startNbIotInactivityTimer() { if (isNbIotInactivityTimerStarted()) { logd("NB IOT inactivity timer is already started"); Loading
tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteSessionControllerTest.java +30 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.telephony.satellite; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING; import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED; Loading Loading @@ -571,6 +572,35 @@ public class SatelliteSessionControllerTest extends TelephonyTest { SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED); clearInvocations(mMockDatagramController); // Start receiving datagrams mTestSatelliteSessionController.onDatagramTransferStateChanged( SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS); processAllMessages(); // SatelliteSessionController should move to TRANSFERRING state. assertSuccessfulModemStateChangedCallback(mTestSatelliteModemStateCallback, SatelliteManager.SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING); assertEquals(STATE_TRANSFERRING, mTestSatelliteSessionController.getCurrentStateName()); assertFalse(mTestSatelliteSessionController.isNbIotInactivityTimerStarted()); verify(mMockDatagramController).onSatelliteModemStateChanged( SatelliteManager.SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING); clearInvocations(mMockDatagramController); // Receiving datagrams is successful and done. mTestSatelliteSessionController.onDatagramTransferStateChanged( SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE); processAllMessages(); // SatelliteSessionController should move to CONNECTED state. assertSuccessfulModemStateChangedCallback(mTestSatelliteModemStateCallback, SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED); assertEquals(STATE_CONNECTED, mTestSatelliteSessionController.getCurrentStateName()); assertTrue(mTestSatelliteSessionController.isNbIotInactivityTimerStarted()); verify(mMockDatagramController).onSatelliteModemStateChanged( SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED); clearInvocations(mMockDatagramController); // Wait for timeout moveTimeForward(TEST_SATELLITE_TIMEOUT_MILLIS); processAllMessages(); Loading