Integrating end call button to command service.
Change-Id: I2d3cbd6944423ad80b8b6a603ddbf43f44f9a488
diff --git a/src/com/android/incallui/CallButtonFragment.java b/src/com/android/incallui/CallButtonFragment.java
index 4c74f4a..8b90c5d 100644
--- a/src/com/android/incallui/CallButtonFragment.java
+++ b/src/com/android/incallui/CallButtonFragment.java
@@ -23,6 +23,7 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
@@ -50,6 +51,15 @@
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View parent = inflater.inflate(R.layout.call_button_fragment, container, false);
+
+ final View endCallButton = parent.findViewById(R.id.endButton);
+ endCallButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getPresenter().endCallClicked();
+ }
+ });
+
final ToggleButton toggleButton = (ToggleButton) parent.findViewById(R.id.muteButton);
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
diff --git a/src/com/android/incallui/CallButtonPresenter.java b/src/com/android/incallui/CallButtonPresenter.java
index db727f3..122e48d 100644
--- a/src/com/android/incallui/CallButtonPresenter.java
+++ b/src/com/android/incallui/CallButtonPresenter.java
@@ -40,6 +40,11 @@
getUi().setVisible();
}
+ public void endCallClicked() {
+ // TODO(klp): hook up call id.
+ CallCommandClient.getInstance().disconnectCall(1);
+ }
+
public void muteClicked(boolean checked) {
CallCommandClient.getInstance().mute(checked);
getUi().setMute(checked);
diff --git a/src/com/android/incallui/CallCommandClient.java b/src/com/android/incallui/CallCommandClient.java
index 5868fb8..4b2512b 100644
--- a/src/com/android/incallui/CallCommandClient.java
+++ b/src/com/android/incallui/CallCommandClient.java
@@ -59,6 +59,14 @@
}
}
+ public void disconnectCall(int callId) {
+ try {
+ mCommandService.disconnectCall(callId);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error answering call.", e);
+ }
+ }
+
public void mute(boolean onOff) {
try {
mCommandService.mute(onOff);