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

Commit ef55adfd authored by Hunsuk Choi's avatar Hunsuk Choi
Browse files

Add boolean isInEcm(Phone) to EmergencyStateTracker

To check whether currently in emergency callback mode
with the given Phone.

Bug: 332543313
Test: atest EmergencyStateTrackerTest
Change-Id: I639cfc2708f5230fb7d2a127b8bf45094771a63d
parent bac19195
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1235,6 +1235,15 @@ public class EmergencyStateTracker {
                && mEmergencyCallDomain == NetworkRegistrationInfo.DOMAIN_CS && isInEcm();
    }

    /**
     * Returns {@code true} if currently in emergency callback mode with the given {@link Phone}.
     *
     * @param phone the {@link Phone} for the emergency call.
     */
    public boolean isInEcm(Phone phone) {
        return isInEcm() && isSamePhone(mPhone, phone);
    }

    private void sendEmergencyCallStateChange(Phone phone, boolean isAlive) {
        if ((isAlive && !mSentEmergencyCallState && getBroadcastEmergencyCallStateChanges(phone))
                || (!isAlive && mSentEmergencyCallState)) {
+3 −0
Original line number Diff line number Diff line
@@ -577,6 +577,9 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        assertTrue(emergencyStateTracker.isInEcm());
        assertFalse(emergencyStateTracker.isInCdmaEcm());
        assertTrue(emergencyStateTracker.isInImsEcm());

        assertTrue(emergencyStateTracker.isInEcm(testPhone));
        assertFalse(emergencyStateTracker.isInEcm(getPhone(1)));
    }

    /**