Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf985606 authored by Sooraj Sasindran's avatar Sooraj Sasindran Committed by Android (Google) Code Review
Browse files

Merge "Handle device doesn't point to satellite in CONNECTED state" into main

parents cb34f27a 51f53cac
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TR
import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED;
import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING;
import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE;
import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_IDLE;
import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_LISTENING;
import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_UNKNOWN;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED;
@@ -571,13 +572,16 @@ public class SatelliteSessionController extends StateMachine {
        }

        mIsDeviceAlignedWithSatellite = isAligned;
        plogd("setDeviceAlignedWithSatellite: isAligned " +  isAligned);

        if (mIsDeviceAlignedWithSatellite) {
            stopEsosInactivityTimer();
            stopP2pSmsInactivityTimer();
            endUserInactivity();
        } else {
            if (mCurrentState == SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED) {
            if (mCurrentState == SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED
                    || mCurrentState == SATELLITE_MODEM_STATE_CONNECTED
                    || mCurrentState == SATELLITE_MODEM_STATE_IDLE) {
                evaluateStartingEsosInactivityTimer();
                evaluateStartingP2pSmsInactivityTimer();
            }
@@ -705,6 +709,8 @@ public class SatelliteSessionController extends StateMachine {
            mIsSendingTriggeredDuringTransferringState.set(false);
            unbindService();
            stopNbIotInactivityTimer();
            stopEsosInactivityTimer();
            stopNbIotInactivityTimer();
            endUserInactivity();
            DemoSimulator.getInstance().onSatelliteModeOff();
            notifyStateChangedEvent(SatelliteManager.SATELLITE_MODEM_STATE_OFF);
@@ -1060,6 +1066,9 @@ public class SatelliteSessionController extends StateMachine {
        public void enter() {
            if (DBG) plogd("Entering TransferringState");
            stopNbIotInactivityTimer();
            stopEsosInactivityTimer();
            stopNbIotInactivityTimer();

            mPreviousState = mCurrentState;
            mCurrentState = SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING;
            notifyStateChangedEvent(SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING);
@@ -1219,9 +1228,6 @@ public class SatelliteSessionController extends StateMachine {
        @Override
        public void exit() {
            if (DBG) plogd("Exiting NotConnectedState");

            stopEsosInactivityTimer();
            stopP2pSmsInactivityTimer();
        }

        @Override
@@ -1327,9 +1333,6 @@ public class SatelliteSessionController extends StateMachine {
        @Override
        public void exit() {
            if (DBG) plogd("Exiting ConnectedState");

            stopEsosInactivityTimer();
            stopP2pSmsInactivityTimer();
        }

        @Override
+3 −3
Original line number Diff line number Diff line
@@ -24,14 +24,12 @@ import static android.telephony.satellite.SatelliteManager.DATAGRAM_TYPE_SOS_MES
import static android.telephony.satellite.SatelliteManager.DATAGRAM_TYPE_UNKNOWN;
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_NONE;
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;
import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS;
import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT;
import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_SUCCESS;

import static org.junit.Assert.assertEquals;
@@ -378,9 +376,11 @@ public class SatelliteSessionControllerTest extends TelephonyTest {
        // Verify that the P2P SMS inactivity timer is stopped.
        assertFalse(mTestSatelliteSessionController.isP2pSmsInActivityTimerStarted());

        moveNotConnectedToConnectedState();

        mTestSatelliteSessionController.setDeviceAlignedWithSatellite(false);

        // Verify that the P2P SMS inactivity timer is started.
        // Verify that the P2P SMS inactivity timer is started in CONNECTED state.
        assertTrue(mTestSatelliteSessionController.isP2pSmsInActivityTimerStarted());

        // Time shift to cause timeout