diff options
Diffstat (limited to 'InCallUI/src/com/android/incallui/CallButtonPresenter.java')
-rw-r--r-- | InCallUI/src/com/android/incallui/CallButtonPresenter.java | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java index bb2484747..7b6649704 100644 --- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java +++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java @@ -146,6 +146,18 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto getUi().setHold(checked); } + public void mergeClicked() { + CallCommandClient.getInstance().merge(); + } + + public void addCallClicked() { + CallCommandClient.getInstance().addCall(); + } + + public void swapClicked() { + CallCommandClient.getInstance().swap(); + } + public void showDialpadClicked(boolean checked) { Logger.v(this, "Show dialpad " + String.valueOf(checked)); getUi().displayDialpad(checked); @@ -160,10 +172,20 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto final boolean isVisible = state.isConnectingOrConnected() && !state.isIncoming(); - getUi().setVisible(isVisible); + ui.setVisible(isVisible); + + Logger.d(this, "Updating call UI for call: ", call); + + if (isVisible && call != null) { + Logger.v(this, "Show hold ", call.can(Capabilities.HOLD)); + Logger.v(this, "Show merge ", call.can(Capabilities.MERGE_CALLS)); + Logger.v(this, "Show swap ", call.can(Capabilities.SWAP_CALLS)); + Logger.v(this, "Show add call ", call.can(Capabilities.ADD_CALL)); - if (call != null) { - getUi().showHold(call.can(Capabilities.HOLD)); + ui.showHold(call.can(Capabilities.HOLD)); + ui.showMerge(call.can(Capabilities.MERGE_CALLS)); + ui.showSwap(call.can(Capabilities.SWAP_CALLS)); + ui.showAddCall(call.can(Capabilities.ADD_CALL)); } } @@ -172,6 +194,9 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto void setMute(boolean on); void setHold(boolean on); void showHold(boolean show); + void showMerge(boolean show); + void showSwap(boolean show); + void showAddCall(boolean show); void displayDialpad(boolean on); void setAudio(int mode); void setSupportedAudio(int mask); |