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

Commit b1e48c90 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Add support for rejecting Telecom call with a specified reason." am:...

Merge "Add support for rejecting Telecom call with a specified reason." am: 39f16582 am: 4926ed70

Change-Id: Id17593ca6a367371898cdb332a8bc788bbfa4187
parents 3d1eb206 4926ed70
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -110,6 +110,8 @@ public abstract class Call {
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    public abstract void hangup() throws CallStateException;
    public abstract void hangup() throws CallStateException;


    public abstract void hangup(@android.telecom.Call.RejectReason int rejectReason)
            throws CallStateException;


    /**
    /**
     * hasConnection
     * hasConnection
+10 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,16 @@ public class GsmCdmaCall extends Call {
        mOwner.hangup(this);
        mOwner.hangup(this);
    }
    }


    /**
     * Hangup the ringing call with a specified reason; reason is not supported on GSM/CDMA.
     * @param rejectReason
     */
    @Override
    public void hangup(@android.telecom.Call.RejectReason int rejectReason)
            throws CallStateException {
        mOwner.hangup(this);
    }

    @Override
    @Override
    public String toString() {
    public String toString() {
        return mState.toString();
        return mState.toString();
+6 −0
Original line number Original line Diff line number Diff line
@@ -60,6 +60,12 @@ public class ImsExternalCall extends Call {


    }
    }


    @Override
    public void hangup(@android.telecom.Call.RejectReason int rejectReason)
            throws CallStateException {
        // tumbleweed
    }

    /**
    /**
     * Sets the call state to active.
     * Sets the call state to active.
     */
     */
+6 −0
Original line number Original line Diff line number Diff line
@@ -122,6 +122,12 @@ public class ImsPhoneCall extends Call {
        mOwner.hangup(this);
        mOwner.hangup(this);
    }
    }


    @Override
    public void hangup(@android.telecom.Call.RejectReason int rejectReason)
            throws CallStateException {
        mOwner.hangup(this, rejectReason);
    }

    @Override
    @Override
    public String toString() {
    public String toString() {
        StringBuilder sb = new StringBuilder();
        StringBuilder sb = new StringBuilder();
+11 −2
Original line number Original line Diff line number Diff line
@@ -1856,7 +1856,12 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
    //***** Called from ImsPhoneCall
    //***** Called from ImsPhoneCall


    public void hangup (ImsPhoneCall call) throws CallStateException {
    public void hangup (ImsPhoneCall call) throws CallStateException {
        if (DBG) log("hangup call");
        hangup(call, android.telecom.Call.REJECT_REASON_DECLINED);
    }

    public void hangup (ImsPhoneCall call, @android.telecom.Call.RejectReason int rejectReason)
            throws CallStateException {
        if (DBG) log("hangup call - reason=" + rejectReason);


        if (call.getConnections().size() == 0) {
        if (call.getConnections().size() == 0) {
            throw new CallStateException("no connections");
            throw new CallStateException("no connections");
@@ -1893,7 +1898,11 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
        try {
        try {
            if (imsCall != null) {
            if (imsCall != null) {
                if (rejectCall) {
                if (rejectCall) {
                    if (rejectReason == android.telecom.Call.REJECT_REASON_UNWANTED) {
                        imsCall.reject(ImsReasonInfo.CODE_SIP_USER_MARKED_UNWANTED);
                    } else {
                        imsCall.reject(ImsReasonInfo.CODE_USER_DECLINE);
                        imsCall.reject(ImsReasonInfo.CODE_USER_DECLINE);
                    }
                    mMetrics.writeOnImsCommand(mPhone.getPhoneId(), imsCall.getSession(),
                    mMetrics.writeOnImsCommand(mPhone.getPhoneId(), imsCall.getSession(),
                            ImsCommand.IMS_CMD_REJECT);
                            ImsCommand.IMS_CMD_REJECT);
                } else {
                } else {
Loading