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

Commit 0ce92d72 authored by Jang Hayeong's avatar Jang Hayeong Committed by Sungjae
Browse files

Distinguish CDMA and IMS ECBM



For CDMA VoLTE, during IMS ECBM, phone type is CDMA.
When exiting ECBM, exitEmergencyCallbackMode API checks phone type
to call exitEmergencyCallbackMode even IMS ECBM is running.
The condition of phone type can't distinguish IMS ECBM.
So give IMS ECBM flag for it.

Bug: 146528629

Change-Id: I8db64e7082f6cc960abddd53eb2a4cc51ecdba81
Signed-off-by: default avatarJang Hayeong <hayeong.jang@samsung.com>
parent 8e28e556
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -3314,10 +3314,8 @@ public class GsmCdmaPhone extends Phone {
            Rlog.d(LOG_TAG, "exitEmergencyCallbackMode: mImsPhone=" + mImsPhone
                    + " isPhoneTypeGsm=" + isPhoneTypeGsm());
        }
        if (isPhoneTypeGsm()) {
            if (mImsPhone != null) {
        if (mImsPhone != null && mImsPhone.isInImsEcm()) {
            mImsPhone.exitEmergencyCallbackMode();
            }
        } else {
            if (mWakeLock.isHeld()) {
                mWakeLock.release();
+4 −0
Original line number Diff line number Diff line
@@ -2466,6 +2466,10 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        return mIsPhoneInEcmState;
    }

    public boolean isInImsEcm() {
        return false;
    }

    public void setIsInEcm(boolean isInEcm) {
        if (!getUnitTestMode()) {
            TelephonyProperties.in_ecm_mode(isInEcm);
+8 −0
Original line number Diff line number Diff line
@@ -239,6 +239,8 @@ public class ImsPhone extends ImsPhoneBase {

    private boolean mRoaming = false;

    private boolean mIsInImsEcm = false;

    // List of Registrants to send supplementary service notifications to.
    private RegistrantList mSsnRegistrants = new RegistrantList();

@@ -845,6 +847,11 @@ public class ImsPhone extends ImsPhoneBase {
               ringingCallState.isAlive());
    }

    @Override
    public boolean isInImsEcm() {
        return mIsInImsEcm;
    }

    @Override
    public boolean isInEcm() {
        return mDefaultPhone.isInEcm();
@@ -852,6 +859,7 @@ public class ImsPhone extends ImsPhoneBase {

    @Override
    public void setIsInEcm(boolean isInEcm){
        mIsInImsEcm = isInEcm;
        mDefaultPhone.setIsInEcm(isInEcm);
    }