Merge "Fix a race-condition that returns incorrect foreground call"
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 8d164ec..7f3b359 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -1575,7 +1575,8 @@
break;
}
- if (call.isAlive() || call.getState() == CallState.RINGING) {
+ if ((call.isAlive() && call.getState() != CallState.ON_HOLD)
+ || call.getState() == CallState.RINGING) {
newForegroundCall = call;
// Don't break in case there's an active call that has priority.
}
@@ -1602,7 +1603,8 @@
break;
}
- if (call.isAlive() || call.getState() == CallState.RINGING) {
+ if ((call.isAlive() && call.getState() != CallState.ON_HOLD)
+ || call.getState() == CallState.RINGING) {
newForegroundCall = call;
// Don't break in case there's an active call that has priority.
}