diff options
Diffstat (limited to 'src/com/android/incallui/AnswerPresenter.java')
-rw-r--r-- | src/com/android/incallui/AnswerPresenter.java | 45 |
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); } } |