Merge "Fix bug of secondary call info disappear after switching calls." into nyc-dev am: 008c82f409
am: 32f66bda67

* commit '32f66bda678994084dc0ab84e055dd5fe4b7a718':
  Fix bug of secondary call info disappear after switching calls.
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 0be9b12..36af7e2 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -705,6 +705,13 @@
             return retval;
         }
 
+        // Sometimes there is intemediate state that two calls are in active even one is about
+        // to be on hold.
+        retval = callList.getSecondActiveCall();
+        if (retval != null && retval != ignore) {
+            return retval;
+        }
+
         // Disconnected calls get primary position if there are no active calls
         // to let user know quickly what call has disconnected. Disconnected
         // calls are very short lived.
diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java
index 99def36..d0f3c10 100644
--- a/InCallUI/src/com/android/incallui/CallList.java
+++ b/InCallUI/src/com/android/incallui/CallList.java
@@ -298,6 +298,10 @@
         return getFirstCallWithState(Call.State.ACTIVE);
     }
 
+    public Call getSecondActiveCall() {
+        return getCallWithState(Call.State.ACTIVE, 1);
+    }
+
     public Call getBackgroundCall() {
         return getFirstCallWithState(Call.State.ONHOLD);
     }