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

Commit 5deeeef8 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

Properly handle multi-endpoint answered elsewhere disconnect cause.

Two issues:
1. The "answered elsewhere" disconnect cause was mapped to "call pulled".
2. The "answered elsewhere" disconnect cause would be remapped as a missed
call.

Bug: 29236416
Change-Id: I4cb46a68079fdefd273c532b378e703c24ba7f4e
parent c4df62ab
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1180,6 +1180,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                return DisconnectCause.FDN_BLOCKED;

            case ImsReasonInfo.CODE_ANSWERED_ELSEWHERE:
                return DisconnectCause.ANSWERED_ELSEWHERE;

            case ImsReasonInfo.CODE_CALL_END_CAUSE_CALL_PULL:
                return DisconnectCause.CALL_PULLED;
            default:
@@ -1292,7 +1294,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                mOnHoldToneStarted = false;
                mOnHoldToneId = -1;
            }
            if (conn != null && conn.isIncoming() && conn.getConnectTime() == 0) {
            if (conn != null && conn.isIncoming() && conn.getConnectTime() == 0
                    && cause != DisconnectCause.ANSWERED_ELSEWHERE) {
                // Missed
                if (cause == DisconnectCause.NORMAL) {
                    cause = DisconnectCause.INCOMING_MISSED;