summaryrefslogtreecommitdiff
path: root/InCallUI/src
diff options
context:
space:
mode:
authorChiao Cheng <chiaocheng@google.com>2013-07-24 19:19:03 -0700
committerChiao Cheng <chiaocheng@google.com>2013-07-24 19:19:03 -0700
commite58788a9fc47164e3586e862df1427b89cbe02db (patch)
treed5311650a5a00f9f0aa8def3d2c1124768d9ba43 /InCallUI/src
parent3d1b6528a199c5a3e5a9053d476955037c4c6836 (diff)
Finishing in call screen when call ends.
Change-Id: I80220deb47ec17fbfb017795f916ba0822ea41da
Diffstat (limited to 'InCallUI/src')
-rw-r--r--InCallUI/src/com/android/incallui/CallButtonFragment.java14
-rw-r--r--InCallUI/src/com/android/incallui/CallButtonPresenter.java22
-rw-r--r--InCallUI/src/com/android/incallui/InCallActivity.java8
3 files changed, 35 insertions, 9 deletions
diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java
index 8b90c5d49..0e9fa9a47 100644
--- a/InCallUI/src/com/android/incallui/CallButtonFragment.java
+++ b/InCallUI/src/com/android/incallui/CallButtonFragment.java
@@ -23,15 +23,14 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
/**
* Fragment for call control buttons
*/
-public class CallButtonFragment extends BaseFragment<CallButtonPresenter> implements
- CallButtonPresenter.CallButtonUi {
+public class CallButtonFragment extends BaseFragment<CallButtonPresenter>
+ implements CallButtonPresenter.CallButtonUi {
@Override
CallButtonPresenter createPresenter() {
@@ -85,9 +84,12 @@ public class CallButtonFragment extends BaseFragment<CallButtonPresenter> implem
}
@Override
- public void setVisible() {
- Log.e("TEST", "" + getView());
- getView().setVisibility(View.VISIBLE);
+ public void setVisible(boolean on) {
+ if (on) {
+ getView().setVisibility(View.VISIBLE);
+ } else {
+ getView().setVisibility(View.INVISIBLE);
+ }
}
@Override
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index 122e48d85..ab47867a2 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -24,6 +24,7 @@ import android.media.AudioManager;
public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButtonUi> {
private AudioManager mAudioManager;
+ private EndCallListener mEndCallListener;
public void init(AudioManager audioManager) {
mAudioManager = audioManager;
@@ -37,12 +38,21 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto
}
public void show() {
- getUi().setVisible();
+ getUi().setVisible(true);
}
public void endCallClicked() {
// TODO(klp): hook up call id.
CallCommandClient.getInstance().disconnectCall(1);
+
+ mEndCallListener.onCallEnd();
+ reset();
+ }
+
+ private void reset() {
+ getUi().setVisible(false);
+ getUi().setMute(false);
+ getUi().setSpeaker(false);
}
public void muteClicked(boolean checked) {
@@ -55,9 +65,17 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto
getUi().setSpeaker(checked);
}
+ public void setEndCallListener(EndCallListener endCallListener) {
+ mEndCallListener = endCallListener;
+ }
+
public interface CallButtonUi extends Ui {
- void setVisible();
+ void setVisible(boolean on);
void setMute(boolean on);
void setSpeaker(boolean on);
}
+
+ public interface EndCallListener {
+ void onCallEnd();
+ }
}
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java
index c2e0b0516..71e981b94 100644
--- a/InCallUI/src/com/android/incallui/InCallActivity.java
+++ b/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -30,7 +30,7 @@ import android.widget.Toast;
/**
* Phone app "in call" screen.
*/
-public class InCallActivity extends Activity {
+public class InCallActivity extends Activity implements CallButtonPresenter.EndCallListener {
private static final String TAG = InCallActivity.class.getSimpleName();
@@ -68,6 +68,7 @@ public class InCallActivity extends Activity {
final CallButtonFragment callButtonFragment = (CallButtonFragment) getFragmentManager()
.findFragmentById(R.id.callButtonFragment);
mCallButtonPresenter = callButtonFragment.getPresenter();
+ mCallButtonPresenter.setEndCallListener(this);
// TODO(klp): create once and reset when needed.
final AnswerFragment answerFragment = new AnswerFragment();
@@ -216,4 +217,9 @@ public class InCallActivity extends Activity {
Log.d(TAG, msg);
}
}
+
+ @Override
+ public void onCallEnd() {
+ finish();
+ }
}