summaryrefslogtreecommitdiff
path: root/InCallUI/src/com/android/incallui/CallCardPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'InCallUI/src/com/android/incallui/CallCardPresenter.java')
-rw-r--r--InCallUI/src/com/android/incallui/CallCardPresenter.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index b055a58a1..e1e3bd464 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -30,6 +30,7 @@ import com.android.incallui.ContactInfoCache.ContactCacheEntry;
import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback;
import com.android.incallui.InCallPresenter.InCallState;
import com.android.incallui.InCallPresenter.InCallStateListener;
+import com.android.incallui.InCallPresenter.IncomingCallListener;
import com.android.services.telephony.common.AudioMode;
import com.android.services.telephony.common.Call;
import com.android.services.telephony.common.CallIdentification;
@@ -41,7 +42,7 @@ import com.google.common.base.Preconditions;
* This class listens for changes to InCallState and passes it along to the fragment.
*/
public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
- implements InCallStateListener, AudioModeListener {
+ implements InCallStateListener, AudioModeListener, IncomingCallListener {
private static final String TAG = CallCardPresenter.class.getSimpleName();
private static final long CALL_TIME_UPDATE_INTERVAL = 1000; // in milliseconds
@@ -98,6 +99,7 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
// Register for call state changes last
InCallPresenter.getInstance().addListener(this);
+ InCallPresenter.getInstance().addIncomingCallListener(this);
}
@Override
@@ -106,6 +108,7 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
// stop getting call state changes
InCallPresenter.getInstance().removeListener(this);
+ InCallPresenter.getInstance().removeIncomingCallListener(this);
AudioModeProvider.getInstance().removeListener(this);
@@ -115,6 +118,12 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
}
@Override
+ public void onIncomingCall(InCallState state, Call call) {
+ // same logic should happen as with onStateChange()
+ onStateChange(state, CallList.getInstance());
+ }
+
+ @Override
public void onStateChange(InCallState state, CallList callList) {
Log.d(this, "onStateChange() " + state);
final CallCardUi ui = getUi();