IMS Conference Callback Handling
Omkar Kolangade [Wed, 5 Nov 2014 21:56:57 +0000 (13:56 -0800)]
Adding logic to handle intermediate
and conference callbacks while creating
a conference session as well as adding
a call to an existing conference.

Change-Id: Ib53a8f9408f807a6ce1be6005e1fc911b87598d4

src/java/com/android/ims/ImsCall.java

index 3ecf1b3..82adfc3 100644 (file)
@@ -1501,8 +1501,6 @@ public class ImsCall implements ICall {
                     }
                 }
             }
-        } else if (!mCallGroup.isReferrer(ImsCall.this)) {
-            return;
         }
 
         listener = mListener;
@@ -1677,6 +1675,9 @@ public class ImsCall implements ICall {
                 return;
             }
 
+            // If this condition is satisfied, this call is either a part of
+            // a conference call or a call that is about to be merged into an
+            // existing conference call.
             if (mCallGroup != null) {
                 notifyConferenceSessionTerminated(reasonInfo);
             } else {
@@ -1940,9 +1941,8 @@ public class ImsCall implements ICall {
 
         @Override
         public void callSessionTerminated(ImsCallSession session, ImsReasonInfo reasonInfo) {
-            if (isTransientConferenceSession(session)) {
-                log("callSessionTerminated :: not supported for transient conference session=" +
-                        session);
+            if (mSession != session) {
+                log("callSessionTerminated :: not supported for conference session=" + session);
                 return;
             }