Fix bug of secondary call info disappear after switching calls.
Bug: 27323979
Change-Id: I6f66052dee5ef3be32df4008835d0918bba54e50
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index dd255e0..e7ddd5a 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -697,6 +697,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);
}