summaryrefslogtreecommitdiffstats
path: root/src/com/android/incallui/AnswerPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/incallui/AnswerPresenter.java')
-rw-r--r--src/com/android/incallui/AnswerPresenter.java45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/com/android/incallui/AnswerPresenter.java b/src/com/android/incallui/AnswerPresenter.java
index d6f87c74..a406b0a2 100644
--- a/src/com/android/incallui/AnswerPresenter.java
+++ b/src/com/android/incallui/AnswerPresenter.java
@@ -16,46 +16,45 @@
package com.android.incallui;
-import com.google.android.collect.Lists;
-
-import java.util.ArrayList;
-
/**
- *
+ * Presenter for the Incoming call widget.
*/
-public class AnswerPresenter extends Presenter<Ui> {
+public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi>
+ implements CallList.Listener {
- private ArrayList<Listener> mListeners = Lists.newArrayList();
-
- public AnswerPresenter(Listener listener) {
- this.mListeners.add(listener);
+ @Override
+ public void onUiReady(AnswerUi ui) {
+ super.onUiReady(ui);
+ CallList.getInstance().addListener(this);
}
- public void addCloseListener(Listener listener) {
- mListeners.add(listener);
+ @Override
+ public void onCallListChange(CallList callList) {
+ // TODO(klp): The answer widget and call cards are independently managing their behavior
+ // from CallList events. We need to create a class to manage the behavior of all the
+ // Presenters from a single place.
+ final boolean showWidget = (callList.getIncomingCall() != null);
+
+ final AnswerUi ui = getUi();
+ if (ui != null) {
+ ui.showAnswerWidget(showWidget);
+ }
}
public void onAnswer() {
// TODO(klp): hook in call id.
CallCommandClient.getInstance().answerCall(1);
- notifyListeners();
}
public void onDecline() {
- notifyListeners();
+ // TODO(klp): hook in call id.
+ CallCommandClient.getInstance().disconnectCall(1);
}
public void onText() {
- notifyListeners();
- }
-
- private void notifyListeners() {
- for (Listener listener : mListeners) {
- listener.onClose();
- }
}
- public interface Listener {
- void onClose();
+ interface AnswerUi extends Ui {
+ public void showAnswerWidget(boolean show);
}
}