Merge AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.01.00.042.029 on remote branch
Change-Id: Ic5dd0319ef5e4d70fb8ea97861982d07653fc7b4
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index ee8ec11..f283c7d 100755
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -1877,12 +1877,12 @@
// Since this call is the foreground call that sent the merge
// request, ending signifies that the call successfully got
- // merged into the conference call.
- // NOTE: We cannot identify a genuinely dropped call at this
- // point.
- processMergeComplete();
-
- return;
+ // merged into the conference call only if mTransientConferenceSession exists.
+ // Else this is a genuine call end of this session & callTerminated will be invoked.
+ if (mTransientConferenceSession != null) {
+ processMergeComplete();
+ return;
+ }
}
// If this condition is satisfied, this call is either a part of
@@ -2224,7 +2224,10 @@
@Override
public void callSessionTerminated(ImsCallSession session, ImsReasonInfo reasonInfo) {
if (mSession != session) {
- log("callSessionTerminated :: not supported for conference session=" + session);
+ if (isTransientConferenceSession(session)) {
+ processMergeFailed(reasonInfo);
+ log("callSessionTerminated :: for transient session");
+ }
return;
}