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

Commit b25b43f0 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

Move initialization of Multiendpoint interface into getImsService().

I previously had the setup of the multiendpoint interface in ImsPhone,
however at that point ImsManager was not yet configured.
I have moved the multiendpoint interface initialization into the
ImsPhoneCallTracker#getImsService() method (similar to the ECBM interface
setup).

Bug: 27458894
Change-Id: I2b2ba9637686bb01fb38e3195e60ae151bf9adb6
parent d1c5946a
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -126,7 +126,6 @@ public class ImsPhone extends ImsPhoneBase {
    // Instance Variables
    Phone mDefaultPhone;
    ImsPhoneCallTracker mCT;
    ImsMultiEndpoint mImsMultiEndpoint;
    ImsExternalCallTracker mExternalCallTracker;
    private ArrayList <ImsPhoneMmiCode> mPendingMMIs = new ArrayList<ImsPhoneMmiCode>();

@@ -187,13 +186,6 @@ public class ImsPhone extends ImsPhoneBase {
        mCT = TelephonyComponentFactory.getInstance().makeImsPhoneCallTracker(this);
        mExternalCallTracker =
                TelephonyComponentFactory.getInstance().makeImsExternalCallTracker(this, mCT);
        try {
            mImsMultiEndpoint = mCT.getMultiEndpointInterface();
            mImsMultiEndpoint.setExternalCallStateListener(
                    mExternalCallTracker.getExternalCallStateListener());
        } catch (ImsException e) {
            Rlog.i(LOG_TAG, "ImsMultiEndpointInterface is not available.");
        }

        mSS.setStateOff();

+16 −3
Original line number Diff line number Diff line
@@ -273,6 +273,11 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                Phone.TTY_MODE_OFF);
            mImsManager.setUiTTYMode(mPhone.getContext(), mServiceId, mPreferredTtyMode, null);

            ImsMultiEndpoint multiEndpoint = getMultiEndpointInterface();
            if (multiEndpoint != null) {
                multiEndpoint.setExternalCallStateListener(
                        mPhone.getExternalCallTracker().getExternalCallStateListener());
            }
        } catch (ImsException e) {
            loge("getImsService: " + e);
            //Leave mImsManager as null, then CallStateException will be thrown when dialing
@@ -2052,8 +2057,16 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
            throw new ImsException("no ims manager", ImsReasonInfo.CODE_UNSPECIFIED);
        }

        ImsMultiEndpoint multiendpoint = mImsManager.getMultiEndpointInterface(mServiceId);
        return multiendpoint;
        try {
            return mImsManager.getMultiEndpointInterface(mServiceId);
        } catch (ImsException e) {
            if (e.getCode() == ImsReasonInfo.CODE_MULTIENDPOINT_NOT_SUPPORTED) {
                return null;
            } else {
                throw e;
            }

        }
    }

    public boolean isInEmergencyCall() {