diff options
-rw-r--r-- | src/com/android/incallui/AnswerPresenter.java | 1 | ||||
-rw-r--r-- | src/com/android/incallui/CallButtonPresenter.java | 5 | ||||
-rw-r--r-- | src/com/android/incallui/ConferenceManagerPresenter.java | 16 |
3 files changed, 18 insertions, 4 deletions
diff --git a/src/com/android/incallui/AnswerPresenter.java b/src/com/android/incallui/AnswerPresenter.java index e8bcc99c..e820929a 100644 --- a/src/com/android/incallui/AnswerPresenter.java +++ b/src/com/android/incallui/AnswerPresenter.java @@ -56,7 +56,6 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> if (mCallId != Call.INVALID_CALL_ID) { CallList.getInstance().removeCallUpdateListener(mCallId, this); } - } @Override diff --git a/src/com/android/incallui/CallButtonPresenter.java b/src/com/android/incallui/CallButtonPresenter.java index f14d851a..ec8e8447 100644 --- a/src/com/android/incallui/CallButtonPresenter.java +++ b/src/com/android/incallui/CallButtonPresenter.java @@ -50,13 +50,12 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto @Override public void onUiUnready(CallButtonUi ui) { + super.onUiUnready(ui); + InCallPresenter.getInstance().removeListener(this); AudioModeProvider.getInstance().removeListener(this); mProximitySensor = null; - - // set Ui to null, so should go last - super.onUiUnready(ui); } @Override diff --git a/src/com/android/incallui/ConferenceManagerPresenter.java b/src/com/android/incallui/ConferenceManagerPresenter.java index ccda4a57..041614db 100644 --- a/src/com/android/incallui/ConferenceManagerPresenter.java +++ b/src/com/android/incallui/ConferenceManagerPresenter.java @@ -39,8 +39,24 @@ public class ConferenceManagerPresenter private Context mContext; @Override + public void onUiReady(ConferenceManagerUi ui) { + super.onUiReady(ui); + + // register for call state changes last + InCallPresenter.getInstance().addListener(this); + } + + @Override + public void onUiUnready(ConferenceManagerUi ui) { + super.onUiUnready(ui); + + InCallPresenter.getInstance().removeListener(this); + } + + @Override public void onStateChange(InCallState state, CallList callList) { if (getUi().isFragmentVisible()) { + Log.v(this, "onStateChange" + state); if (state == InCallState.INCALL && callList.getActiveOrBackgroundCall() != null && callList.getActiveOrBackgroundCall().isConferenceCall()) { Log.v(this, "Number of existing calls is " + |