summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/incallui/AnswerPresenter.java1
-rw-r--r--src/com/android/incallui/CallButtonPresenter.java5
-rw-r--r--src/com/android/incallui/ConferenceManagerPresenter.java16
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 " +