summaryrefslogtreecommitdiffstats
path: root/src/com/android/server/telecom
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/server/telecom')
-rw-r--r--src/com/android/server/telecom/CallsManager.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 95c80046..d50a7536 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -1429,6 +1429,16 @@ public class CallsManager extends Call.ListenerBase implements VideoProviderProx
return count;
}
+ int getNumTopLevelCalls() {
+ int count = 0;
+ for (Call call : mCalls) {
+ if (call.getParentCall() == null) {
+ count++;
+ }
+ }
+ return count;
+ }
+
Call getOutgoingCall() {
return getFirstCallWithState(OUTGOING_CALL_STATES);
}
@@ -1706,7 +1716,7 @@ public class CallsManager extends Call.ListenerBase implements VideoProviderProx
}
// If only call in call list is held call it's also a foreground call
- if (mCalls.size() == 1 && call.getState() == CallState.ON_HOLD) {
+ if (getNumTopLevelCalls() == 1 && call.getState() == CallState.ON_HOLD) {
newForegroundCall = call;
}
@@ -1739,7 +1749,7 @@ public class CallsManager extends Call.ListenerBase implements VideoProviderProx
}
// If only call in call list is held call it's also a foreground call
- if (mCalls.size() == 1 && call.getState() == CallState.ON_HOLD) {
+ if (getNumTopLevelCalls() == 1 && call.getState() == CallState.ON_HOLD) {
newForegroundCall = call;
}