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
This commit is contained in:
@@ -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);
|
||||
// New session created after conference
|
||||
mListener.callSessionMergeComplete(new ImsCallSession(newSession));
|
||||
} else {
|
||||
// Session already exists. Hence no need to pass
|
||||
mListener.callSessionMergeComplete(null);
|
||||
|
||||
Reference in New Issue
Block a user