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

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

Fix to handle duplicate call id for conference call

When one of the participant drops remotely soon after
initiating a conference, lower layers will re-use the callId
of terminated participant to the newly formed conference call.
As lower layers ensures that callIds assigned to the calls are
unique, remove the callId checks and invoke <callSessionMergeComplete>
callback with the newly formed conference call.

Test: Manual
Bug: 117393458
Change-Id: I6f1a5719a1dff946723c35fde7159ef37fb9cdf7
parent b3866aee
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -1173,18 +1173,8 @@ public class ImsCallSession {
        public void callSessionMergeComplete(IImsCallSession newSession) {
            if (mListener != null) {
                if (newSession != null) {
                    // Check if the active session is the same session that was
                    // active before the merge request was sent.
                    ImsCallSession validActiveSession = ImsCallSession.this;
                    try {
                        if (!Objects.equals(miSession.getCallId(), newSession.getCallId())) {
                    // New session created after conference
                            validActiveSession = new ImsCallSession(newSession);
                        }
                    } catch (RemoteException rex) {
                        Log.e(TAG, "callSessionMergeComplete: exception for getCallId!");
                    }
                    mListener.callSessionMergeComplete(validActiveSession);
                    mListener.callSessionMergeComplete(new ImsCallSession(newSession));
               } else {
                   // Session already exists. Hence no need to pass
                   mListener.callSessionMergeComplete(null);