am a48dc39b: Add hangupForegroundResumeBackground().

Merge commit 'a48dc39bd55c5ddcd991e08f791fd18d94a0db12' into gingerbread-plus-aosp

* commit 'a48dc39bd55c5ddcd991e08f791fd18d94a0db12':
  Add hangupForegroundResumeBackground().
This commit is contained in:
John Wang
2010-09-08 15:56:41 -07:00
committed by Android Git Automerger

View File

@@ -465,6 +465,33 @@ public final class CallManager {
}
}
/**
* Hangup foreground call and resume the specific background call
*
* Note: this is noop if there is no foreground call or the heldCall is null
*
* @param heldCall to become foreground
* @throws CallStateException
*/
public void hangupForegroundResumeBackground(Call heldCall) throws CallStateException {
Phone foregroundPhone = null;
Phone backgroundPhone = null;
if (hasActiveFgCall()) {
foregroundPhone = getFgPhone();
if (heldCall != null) {
backgroundPhone = heldCall.getPhone();
if (foregroundPhone == backgroundPhone) {
getActiveFgCall().hangup();
} else {
// the call to be hangup and resumed belongs to different phones
getActiveFgCall().hangup();
switchHoldingAndActive(heldCall);
}
}
}
}
/**
* Whether or not the phone can conference in the current phone
* state--that is, one call holding and one call active.