summaryrefslogtreecommitdiffstats
path: root/src/com/android/incallui/CallCardPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/incallui/CallCardPresenter.java')
-rw-r--r--src/com/android/incallui/CallCardPresenter.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/com/android/incallui/CallCardPresenter.java b/src/com/android/incallui/CallCardPresenter.java
index e5315118..d4a39eaa 100644
--- a/src/com/android/incallui/CallCardPresenter.java
+++ b/src/com/android/incallui/CallCardPresenter.java
@@ -54,23 +54,26 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> i
// Track the state for the photo.
private ContactsAsyncHelper.ImageTracker mPhotoTracker;
- public CallCardPresenter(AudioModeProvider audioModeProvider) {
+ public CallCardPresenter() {
mPhotoTracker = new ContactsAsyncHelper.ImageTracker();
- mAudioModeProvider = audioModeProvider;
}
@Override
public void onUiReady(CallCardUi ui) {
super.onUiReady(ui);
- mAudioModeProvider.addListener(this);
+ if (mAudioModeProvider != null) {
+ mAudioModeProvider.addListener(this);
+ }
}
@Override
public void onUiUnready(CallCardUi ui) {
super.onUiUnready(ui);
- mAudioModeProvider.removeListener(this);
+ if (mAudioModeProvider != null) {
+ mAudioModeProvider.removeListener(this);
+ }
mPrimary = null;
}
@@ -112,9 +115,11 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> i
updateDisplayByCallerInfo(primary, primaryCallInfo, primary.getNumberPresentation(),
true);
+ final boolean bluetoothOn = mAudioModeProvider != null &&
+ mAudioModeProvider.getAudioMode() == AudioMode.BLUETOOTH;
+
ui.setNumber(primary.getNumber());
- ui.setCallState(primary.getState(), primary.getDisconnectCause(),
- (mAudioModeProvider.getAudioMode() == AudioMode.BLUETOOTH));
+ ui.setCallState(primary.getState(), primary.getDisconnectCause(), bluetoothOn);
} else {
ui.setNumber("");
ui.setCallState(Call.State.INVALID, Call.DisconnectCause.UNKNOWN, false);
@@ -425,6 +430,11 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> i
ui.setNumberLabel(label);
}
+ public void setAudioModeProvider(AudioModeProvider audioModeProvider) {
+ mAudioModeProvider = audioModeProvider;
+ mAudioModeProvider.addListener(this);
+ }
+
public String getPresentationString(int presentation) {
String name = mContext.getString(R.string.unknown);
if (presentation == Call.PRESENTATION_RESTRICTED) {