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

Commit ccb865f5 authored by Ravi Paluri's avatar Ravi Paluri
Browse files

Fix to handle duplicate call id for conference call

Update the mTransientConferenceSession irrespective
of the call id of the conference calli as lower layers
ensures that callIds assigned to the calls are unique

Test: Manual
Bug: 117393458
Change-Id: I14cd13223defb9ec37e8a7411b9e537768ae2c58
parent ca316456
Loading
Loading
Loading
Loading
+1 −13
Original line number Diff line number Diff line
@@ -2649,17 +2649,6 @@ public class ImsCall implements ICall {
            return;
        }

        /*
         * This method check if session exists as a session on the current
         * ImsCall or its counterpart if it is in the process of a conference
         */
        private boolean doesCallSessionExistsInMerge(ImsCallSession cs) {
            String callId = cs.getCallId();
            return ((isMergeHost() && Objects.equals(mMergePeer.mSession.getCallId(), callId)) ||
                    (isMergePeer() && Objects.equals(mMergeHost.mSession.getCallId(), callId)) ||
                    Objects.equals(mSession.getCallId(), callId));
        }

        /**
         * We received a callback from ImsCallSession that merge completed.
         * @param newSession - this session can have 2 values based on the below scenarios
@@ -2693,8 +2682,7 @@ public class ImsCall implements ICall {
            } else {
                // Handles case 1, 2, 3
                if (newSession != null) {
                    mTransientConferenceSession = doesCallSessionExistsInMerge(newSession) ?
                            null: newSession;
                    mTransientConferenceSession = newSession;
                }
                // Handles case 5
                processMergeComplete();