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

Commit 53dfdfbb authored by Hakjun Choi's avatar Hakjun Choi
Browse files

Check satellite enabled condition when request modem to report ntn signal strength

Currently, telephony sends command that requests start/stop sending ntn signal strength report to modem regardless satellite is enabled or not.
Mofidifed to send the command only when satellite is enabled

Bug: 323010064
Test: SatelliteControllerTest, manuall test using log
Change-Id: I6381165b7bdbf8898845471d8c315aa23704fa61
parent 0e3fe4c1
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1305,10 +1305,9 @@ public class SatelliteController extends Handler {
                if (SATELLITE_RESULT_SUCCESS != evaluateOemSatelliteRequestAllowed(true)) {
                    return;
                }
                if (mShouldReportNtnSignalStrength.get() == shouldReport) {
                if (!isSatelliteEnabled() || mShouldReportNtnSignalStrength.get() == shouldReport) {
                    if (DBG) {
                        logd("CMD_UPDATE_NTN_SIGNAL_STRENGTH_REPORTING : modem state matches the "
                                + "expected state, return.");
                        logd("CMD_UPDATE_NTN_SIGNAL_STRENGTH_REPORTING: ignore request.");
                    }
                    return;
                }
@@ -2976,6 +2975,9 @@ public class SatelliteController extends Handler {
        } else {
            loge(caller + ": mSatelliteSessionController is not initialized yet");
        }
        if (!enabled) {
            mShouldReportNtnSignalStrength.set(false);
        }
    }

    private void registerForSatelliteProvisionStateChanged() {
+18 −0
Original line number Diff line number Diff line
@@ -2366,6 +2366,24 @@ public class SatelliteControllerTest extends TelephonyTest {
        doReturn(true).when(mMockSatelliteModemInterface).isSatelliteServiceSupported();
        provisionSatelliteService();
        setUpResponseForStartSendingNtnSignalStrength(expectedResult);

        // but it is ignored because satellite is disabled
        setUpResponseForRequestIsSatelliteEnabled(false, SATELLITE_RESULT_SUCCESS);
        verifySatelliteEnabled(false, SATELLITE_RESULT_SUCCESS);
        sendCmdStartSendingNtnSignalStrengthChangedEvent(true);
        processAllMessages();
        verify(mMockSatelliteModemInterface, never())
                .startSendingNtnSignalStrength(any(Message.class));

        // after satellite is enabled, startSendingNtnSignalStrength() is requested normally
        resetSatelliteControllerUT();
        reset(mMockSatelliteModemInterface);
        doReturn(true).when(mMockSatelliteModemInterface).isSatelliteServiceSupported();
        provisionSatelliteService();
        setUpResponseForStartSendingNtnSignalStrength(expectedResult);
        setUpResponseForRequestIsSatelliteEnabled(true, SATELLITE_RESULT_SUCCESS);
        verifySatelliteEnabled(true, SATELLITE_RESULT_SUCCESS);
        processAllMessages();
        sendCmdStartSendingNtnSignalStrengthChangedEvent(true);
        processAllMessages();
        verify(mMockSatelliteModemInterface, times(1))