summaryrefslogtreecommitdiffstats
path: root/java/com/android/incallui/CallButtonPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/CallButtonPresenter.java')
-rw-r--r--java/com/android/incallui/CallButtonPresenter.java51
1 files changed, 49 insertions, 2 deletions
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index 5c9a31e78..269d93e8c 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -47,6 +47,7 @@ import com.android.incallui.call.CallList;
import com.android.incallui.call.CallRecorder;
import com.android.incallui.call.DialerCall;
import com.android.incallui.call.DialerCall.CameraDirection;
+import com.android.incallui.call.DialerCallListener;
import com.android.incallui.call.TelecomAdapter;
import com.android.incallui.call.state.DialerCallState;
import com.android.incallui.incall.protocol.InCallButtonIds;
@@ -63,7 +64,8 @@ public class CallButtonPresenter
InCallDetailsListener,
CanAddCallListener,
Listener,
- InCallButtonUiDelegate {
+ InCallButtonUiDelegate,
+ DialerCallListener {
private static final String KEY_AUTOMATICALLY_MUTED_BY_ADD_CALL =
"incall_key_automatically_muted_by_add_call";
@@ -139,11 +141,18 @@ public class CallButtonPresenter
recorder.removeRecordingProgressListener(recordingProgressListener);
isInCallButtonUiReady = false;
+
+ if (call != null) {
+ call.removeListener(this);
+ }
}
@Override
public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
Trace.beginSection("CallButtonPresenter.onStateChange");
+ if (call != null) {
+ call.removeListener(this);
+ }
if (newState == InCallState.OUTGOING) {
call = callList.getOutgoingCall();
} else if (newState == InCallState.INCALL) {
@@ -166,6 +175,10 @@ public class CallButtonPresenter
} else {
call = null;
}
+
+ if (call != null) {
+ call.addListener(this);
+ }
updateUi(newState, call);
Trace.endSection();
}
@@ -472,7 +485,6 @@ public class CallButtonPresenter
call.getTimeAddedMs());
if (pause) {
- call.getVideoTech().setCamera(null);
call.getVideoTech().stopTransmission();
} else {
updateCamera(
@@ -668,6 +680,41 @@ public class CallButtonPresenter
}
@Override
+ public void onDialerCallSessionModificationStateChange() {
+ if (inCallButtonUi != null && call != null) {
+ inCallButtonUi.enableButton(InCallButtonIds.BUTTON_PAUSE_VIDEO, true);
+ updateButtonsState(call);
+ }
+ }
+
+ @Override
+ public void onDialerCallDisconnect() {}
+
+ @Override
+ public void onDialerCallUpdate() {}
+
+ @Override
+ public void onDialerCallChildNumberChange() {}
+
+ @Override
+ public void onDialerCallLastForwardedNumberChange() {}
+
+ @Override
+ public void onDialerCallUpgradeToVideo() {}
+
+ @Override
+ public void onWiFiToLteHandover() {}
+
+ @Override
+ public void onHandoverToWifiFailure() {}
+
+ @Override
+ public void onInternationalCallOnWifi() {}
+
+ @Override
+ public void onEnrichedCallSessionUpdate() {}
+
+ @Override
public Context getContext() {
return context;
}