diff options
Diffstat (limited to 'src/com/android/server/telecom')
-rw-r--r-- | src/com/android/server/telecom/CallsManager.java | 14 |
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; } |