Promotion of atel.lnx.2.0-00048.
CRs Change ID Subject
--------------------------------------------------------------------------------------------------------------
1107225 Ic117370044dd043dad528219d8a780dfdb5415ee IMS-VT: Transmit static image when multitasking
Change-Id: I31669e8633424d2408615914437a3309459a38c1
CRs-Fixed: 1107225
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index f4451c3..f94f81a 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -565,7 +565,7 @@
ui.showButton(BUTTON_SWITCH_CAMERA, isVideo && !sIsHideMe);
// show hide me button only for active video calls
ui.showButton(BUTTON_HIDE_ME, isCallActive && isVideo &&
- QtiCallUtils.shallTransmitStaticImage(getUi().getContext()));
+ QtiCallUtils.shallShowStaticImageUi(getUi().getContext()));
ui.showButton(BUTTON_PAUSE_VIDEO, isVideo && !useExt && !useCustomVideoUi &&
!mEnhanceEnable);
if (isVideo) {
diff --git a/InCallUI/src/com/android/incallui/QtiCallUtils.java b/InCallUI/src/com/android/incallui/QtiCallUtils.java
index 7543c6e..21c9fc2 100644
--- a/InCallUI/src/com/android/incallui/QtiCallUtils.java
+++ b/InCallUI/src/com/android/incallui/QtiCallUtils.java
@@ -287,6 +287,13 @@
return context != null && QtiImsExtUtils.useCustomVideoUi(context);
}
+ public static boolean shallShowStaticImageUi(Context context) {
+ if (context == null) {
+ Log.w(context, "Context is null...");
+ }
+ return context != null && QtiImsExtUtils.shallShowStaticImageUi(context);
+ }
+
/**
* Checks the boolean flag in config file to figure out if transmitting static image
* in a video call is enabled or not
diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
index 8ff4c05..1defb66 100644
--- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
@@ -614,6 +614,17 @@
return;
}
+ if (!QtiCallUtils.shallShowStaticImageUi(mContext) &&
+ QtiCallUtils.shallTransmitStaticImage(mContext) &&
+ mIsInBackground &&
+ shallTransmitStaticImage() &&
+ !VideoUtils.isTransmissionEnabled(call) &&
+ mVideoCall != null) {
+ /* Unset the pause image when Tx is disabled for eg. when background video call
+ that is transmitting static image is downgraded to Rx or to voice */
+ mVideoCall.setPauseImage(null);
+ }
+
updateCameraSelection(call);
if (isVideoCall) {
@@ -1073,7 +1084,12 @@
Log.v(this, "showVideoUi : showIncoming = " + showIncomingVideo + " showOutgoing = "
+ showOutgoingVideo + " shallTransmitStaticImage = " + shallTransmitStaticImage());
if (showIncomingVideo || showOutgoingVideo) {
- ui.showVideoViews(showOutgoingVideo && !shallTransmitStaticImage(), showIncomingVideo);
+ if (QtiCallUtils.shallShowStaticImageUi(mContext)) {
+ ui.showVideoViews(showOutgoingVideo && !shallTransmitStaticImage(),
+ showIncomingVideo);
+ } else {
+ ui.showVideoViews(showOutgoingVideo, showIncomingVideo);
+ }
boolean hidePreview = shallHidePreview(isConf, videoState);
Log.v(this, "showVideoUi, hidePreview = " + hidePreview);
@@ -1083,7 +1099,9 @@
if (showOutgoingVideo) {
setPreviewSize(mDeviceOrientation, mPreviewAspectRatio);
- maybeLoadPreConfiguredImageAsync();
+ if (QtiCallUtils.shallShowStaticImageUi(mContext)) {
+ maybeLoadPreConfiguredImageAsync();
+ }
}
if (isVideoReceptionEnabled && !shallTransmitStaticImage()) {
@@ -1157,11 +1175,20 @@
mIsInBackground = !showing;
+ if (!QtiCallUtils.shallShowStaticImageUi(mContext)) {
+ sShallTransmitStaticImage = sUseDefaultImage = mIsInBackground;
+ }
+
if (mPrimaryCall == null || !VideoUtils.isActiveVideoCall(mPrimaryCall)) {
Log.w(this, "onUiShowing, received for non-active video call");
return;
}
+ if (!QtiCallUtils.shallShowStaticImageUi(mContext) &&
+ VideoUtils.isTransmissionEnabled(mPrimaryCall)) {
+ setPauseImage();
+ }
+
if (showing) {
maybeEnableCamera();
} else if (mPreviewSurfaceState != PreviewSurfaceState.NONE) {