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

Commit d904cc46 authored by rongmei.li's avatar rongmei.li
Browse files

Support Voice Clear Code for VoLTE

InCallUI can't get the vender cause,report vender cause by connetion.

bug: 140607695
Change-Id: I0b009d650a50e3aa2388256d7d17751dda99252f
parent eb7dab7c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2456,6 +2456,10 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                }
            }

            if (conn != null) {
                conn.onRemoteDisconnect(reasonInfo.getExtraMessage());
            }

            if (mHoldSwitchingState == HoldSwapState.SWAPPING_ACTIVE_AND_HELD) {
                if (DBG) {
                    log("onCallTerminated: Call terminated in the midst of Switching " +
@@ -3260,6 +3264,9 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
            callState = Call.State.DIALING;
        }
        int cause = getDisconnectCauseFromReasonInfo(reasonInfo, callState);
        if (conn != null) {
            conn.onRemoteDisconnect(reasonInfo.getExtraMessage());
        }

        processCallStateChange(imsCall, ImsPhoneCall.State.DISCONNECTED, cause);
        mPhone.notifyImsReason(reasonInfo);
+9 −1
Original line number Diff line number Diff line
@@ -121,6 +121,8 @@ public class ImsPhoneConnection extends Connection implements
     */
    private boolean mIsMergeInProcess = false;

    private String mVendorCause;

    /**
     * Used as an override to determine whether video is locally available for this call.
     * This allows video availability to be overridden in the case that the modem says video is
@@ -345,7 +347,7 @@ public class ImsPhoneConnection extends Connection implements

    @Override
    public String getVendorDisconnectCause() {
      return null;
      return mVendorCause;
    }

    @UnsupportedAppUsage
@@ -442,6 +444,7 @@ public class ImsPhoneConnection extends Connection implements
    void
    onHangupLocal() {
        mCause = DisconnectCause.LOCAL;
        mVendorCause = null;
    }

    /** Called when the connection has been disconnected */
@@ -485,6 +488,11 @@ public class ImsPhoneConnection extends Connection implements
        return changed;
    }

    void
    onRemoteDisconnect(String vendorCause) {
        this.mVendorCause = vendorCause;
    }

    /**
     * An incoming or outgoing call has connected
     */