Merge "IMS-VT: Show contact photo view when remote side is on hold." into atel.lnx.2.0-dev
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 315b57f..4317a5e 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -1160,6 +1160,15 @@
// No-op - the Call Card is the origin of this event.
}
+ @Override
+ public void onIncomingVideoAvailabilityChanged(boolean isAvailable) {
+ Log.d(this, "onIncomingVideoAvailabilityChanged: available = " + isAvailable);
+ if (mPrimary == null) {
+ return;
+ }
+ updatePrimaryDisplayInfo();
+ }
+
private boolean isPrimaryCallActive() {
return mPrimary != null && mPrimary.getState() == Call.State.ACTIVE;
}
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index ab4a5f2..e440f32 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -1381,6 +1381,15 @@
}
}
+ /**
+ * Called by the {@link VideoCallPresenter} to inform of a change in availability of
+ * incoming video stream.
+ */
+ public void notifyIncomingVideoAvailabilityChanged(boolean isAvailable) {
+ for (InCallEventListener listener : mInCallEventListeners) {
+ listener.onIncomingVideoAvailabilityChanged(isAvailable);
+ }
+ }
/**
* For some disconnected causes, we show a dialog. This calls into the activity to show
@@ -2091,6 +2100,7 @@
public void onFullscreenModeChanged(boolean isFullscreenMode);
public void onSecondaryCallerInfoVisibilityChanged(boolean isVisible, int height);
public void updatePrimaryCallState();
+ public void onIncomingVideoAvailabilityChanged(boolean isAvailable);
}
public interface InCallUiListener {
diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
index 9a3e34b..e75377b 100644
--- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
@@ -564,6 +564,11 @@
getUi().adjustPreviewLocation(isVisible /* shiftUp */, height);
}
+ @Override
+ public void onIncomingVideoAvailabilityChanged(boolean isAvailable) {
+ //NO OP
+ }
+
private void checkForVideoStateChange(Call call) {
boolean isVideoCall = VideoUtils.isVideoCall(call);
boolean hasVideoStateChanged = mCurrentVideoState != call.getVideoState();
@@ -1094,6 +1099,8 @@
event == Connection.VideoProvider.SESSION_EVENT_RX_RESUME;
showVideoUi(mCurrentVideoState, mCurrentCallState, isConfCall());
sb.append(mIsIncomingVideoAvailable ? "rx_resume" : "rx_pause");
+ InCallPresenter.getInstance().
+ notifyIncomingVideoAvailabilityChanged(mIsIncomingVideoAvailable);
break;
case Connection.VideoProvider.SESSION_EVENT_CAMERA_FAILURE:
sb.append("camera_failure");