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

Commit 88c9f84c authored by Hakjun Choi's avatar Hakjun Choi Committed by Automerger Merge Worker
Browse files

Merge "Remove check condition for triggering satellite SOS message...

Merge "Remove check condition for triggering satellite SOS message recommender" into 24D1-dev am: 6b9d674b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/27319680



Change-Id: I210509c02a9bb1c9f3c4b183a1e6436c9b06f8d1
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9be23219 6b9d674b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -282,7 +282,7 @@ public class SatelliteSOSMessageRecommender extends Handler {
            updateSatelliteViaCarrierAvailability();

            boolean isDialerNotified = false;
            if (!isImsRegistered() && !isCellularAvailable()
            if (!isCellularAvailable()
                    && isSatelliteAllowed()
                    && (isSatelliteViaOemAvailable() || isSatelliteViaCarrierAvailable())
                    && shouldTrackCall(mEmergencyConnection.getState())) {
@@ -441,10 +441,12 @@ public class SatelliteSOSMessageRecommender extends Handler {
                int state = serviceState.getState();
                if ((state == STATE_IN_SERVICE || state == STATE_EMERGENCY_ONLY)
                        && !serviceState.isUsingNonTerrestrialNetwork()) {
                    logv("isCellularAvailable true");
                    return true;
                }
            }
        }
        logv("isCellularAvailable false");
        return false;
    }

@@ -479,9 +481,10 @@ public class SatelliteSOSMessageRecommender extends Handler {
    }

    private synchronized void handleStateChangedEventForHysteresisTimer() {
        if (!isImsRegistered() && !isCellularAvailable()) {
        if (!isCellularAvailable()) {
            startTimer();
        } else {
            logv("handleStateChangedEventForHysteresisTimer stopTimer");
            stopTimer();
        }
    }
@@ -494,6 +497,7 @@ public class SatelliteSOSMessageRecommender extends Handler {
            sendMessageDelayed(obtainMessage(EVENT_TIME_OUT), mTimeoutMillis);
            mCountOfTimerStarted++;
            mIsTimerTimedOut = false;
            logd("startTimer mCountOfTimerStarted=" + mCountOfTimerStarted);
        }
    }

@@ -744,6 +748,10 @@ public class SatelliteSOSMessageRecommender extends Handler {
                || SystemProperties.getBoolean(BOOT_ALLOW_MOCK_MODEM_PROPERTY, false));
    }

    private static void logv(@NonNull String log) {
        Rlog.v(TAG, log);
    }

    private static void logd(@NonNull String log) {
        Rlog.d(TAG, log);
    }
+22 −7
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.internal.telephony.satellite;

import static android.telephony.ServiceState.STATE_IN_SERVICE;
import static android.telephony.ServiceState.STATE_OUT_OF_SERVICE;
import static android.telephony.TelephonyManager.EXTRA_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE;
import static android.telephony.TelephonyManager.EXTRA_EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT;
import static android.telephony.satellite.SatelliteManager.EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS;
@@ -141,8 +143,8 @@ public class SatelliteSOSMessageRecommenderTest extends TelephonyTest {
        when(mPhone2.getPhoneId()).thenReturn(PHONE_ID2);
        mTestSOSMessageRecommender = new TestSOSMessageRecommender(mContext, Looper.myLooper(),
                mTestSatelliteController, mTestImsManager);
        when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
        when(mServiceState2.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
        when(mServiceState.getState()).thenReturn(STATE_OUT_OF_SERVICE);
        when(mServiceState2.getState()).thenReturn(STATE_OUT_OF_SERVICE);
        when(mPhone.isImsRegistered()).thenReturn(false);
        when(mPhone2.isImsRegistered()).thenReturn(false);
    }
@@ -291,7 +293,7 @@ public class SatelliteSOSMessageRecommenderTest extends TelephonyTest {
    }

    @Test
    public void testImsRegistrationStateChangedBeforeTimeout() {
    public void testNetworkStateChangedBeforeTimeout() {
        mTestSOSMessageRecommender.isSatelliteAllowedCallback = null;
        mTestSOSMessageRecommender.onEmergencyCallStarted(mTestConnection);
        processAllMessages();
@@ -302,6 +304,7 @@ public class SatelliteSOSMessageRecommenderTest extends TelephonyTest {
        assertNull(mTestSOSMessageRecommender.isSatelliteAllowedCallback);

        when(mPhone.isImsRegistered()).thenReturn(true);
        when(mServiceState.getState()).thenReturn(STATE_IN_SERVICE);
        mTestImsManager.sendImsRegistrationStateChangedEvent(0, true);
        processAllMessages();

@@ -310,19 +313,31 @@ public class SatelliteSOSMessageRecommenderTest extends TelephonyTest {
        assertEquals(1, mTestSOSMessageRecommender.getCountOfTimerStarted());
        assertUnregisterForStateChangedEventsTriggered(mPhone, 0, 0, 0);

        when(mPhone.isImsRegistered()).thenReturn(false);
        when(mServiceState.getState()).thenReturn(STATE_OUT_OF_SERVICE);
        mTestImsManager.sendImsRegistrationStateChangedEvent(0, true);
        processAllMessages();

        assertFalse(mTestConnection.isEventSent(TelephonyManager.EVENT_DISPLAY_EMERGENCY_MESSAGE));
        assertTrue(mTestSOSMessageRecommender.isTimerStarted());
        assertEquals(2, mTestSOSMessageRecommender.getCountOfTimerStarted());
        assertUnregisterForStateChangedEventsTriggered(mPhone, 0, 0, 0);

        when(mPhone.isImsRegistered()).thenReturn(false);
        when(mPhone2.isImsRegistered()).thenReturn(true);
        when(mServiceState.getState()).thenReturn(STATE_IN_SERVICE);
        mTestImsManager.sendImsRegistrationStateChangedEvent(1, true);
        processAllMessages();
        assertFalse(mTestConnection.isEventSent(TelephonyManager.EVENT_DISPLAY_EMERGENCY_MESSAGE));
        assertFalse(mTestSOSMessageRecommender.isTimerStarted());
        assertEquals(1, mTestSOSMessageRecommender.getCountOfTimerStarted());
        assertEquals(2, mTestSOSMessageRecommender.getCountOfTimerStarted());
        assertUnregisterForStateChangedEventsTriggered(mPhone, 0, 0, 0);

        when(mPhone2.isImsRegistered()).thenReturn(false);
        when(mServiceState.getState()).thenReturn(STATE_OUT_OF_SERVICE);
        mTestImsManager.sendImsRegistrationStateChangedEvent(1, false);
        processAllMessages();
        assertEquals(2, mTestSOSMessageRecommender.getCountOfTimerStarted());
        assertEquals(3, mTestSOSMessageRecommender.getCountOfTimerStarted());
        assertNull(mTestSOSMessageRecommender.isSatelliteAllowedCallback);

        // Move Location service to emergency mode
@@ -436,7 +451,7 @@ public class SatelliteSOSMessageRecommenderTest extends TelephonyTest {
    @Test
    public void testCellularServiceStateChangedBeforeTimeout_InServiceToOutOfService() {
        testCellularServiceStateChangedBeforeTimeout(
                ServiceState.STATE_IN_SERVICE, ServiceState.STATE_OUT_OF_SERVICE);
                ServiceState.STATE_IN_SERVICE, STATE_OUT_OF_SERVICE);
    }

    @Test
@@ -448,7 +463,7 @@ public class SatelliteSOSMessageRecommenderTest extends TelephonyTest {
    @Test
    public void testCellularServiceStateChangedBeforeTimeout_EmergencyOnlyToOutOfService() {
        testCellularServiceStateChangedBeforeTimeout(
                ServiceState.STATE_EMERGENCY_ONLY, ServiceState.STATE_OUT_OF_SERVICE);
                ServiceState.STATE_EMERGENCY_ONLY, STATE_OUT_OF_SERVICE);
    }

    @Test