Promotion of atel.lnx.2.0.c1-00010.
CRs Change ID Subject
--------------------------------------------------------------------------------------------------------------
1098780 I4962bbc832c9b6526fb1de87498fc6fc7eb3e139 IMS-VT: Modify conditional logic of showing upgrade vide
1099503 Ib202b490c5c60d4d842d1cdf08e3c3b8aec3aab8 IMS: Handle connection event to enable merge button
916896 Iea38af484a206ced44637d82e27df944e7cf0f85 IMS-VT: Exit full screen mode of in-call UI
1097132 I3bc68b7d5ea143632f4ea6b1e7f9a8ca78272986 IMS: Grey out merge menu item in more options
1095653 I01b9c9fd59480fea86990a2179564bfe37eb238d IMS-VT: Fix for Call end button overlap
Change-Id: I4d53ee584836b0bae225ddd997d1b7e4f594541d
CRs-Fixed: 1098780, 1097132, 1099503, 916896, 1095653
diff --git a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
index 049f41f..89b7fb5 100644
--- a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
+++ b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
@@ -187,14 +187,20 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
+ <!-- Margin left and centerHorizontal don't work well together, so use a Space instead. -->
+ <Space
+ android:id="@+id/floating_end_call_action_button_margin_left"
+ android:layout_width="@dimen/end_call_button_margin_left"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true" />
+
<FrameLayout
android:id="@+id/floating_end_call_action_button_container"
android:layout_width="@dimen/end_call_floating_action_button_diameter"
android:layout_height="@dimen/end_call_floating_action_button_diameter"
android:background="@drawable/fab_red"
- android:layout_alignParentRight="true"
+ android:layout_toRightOf="@id/floating_end_call_action_button_margin_left"
android:layout_alignParentBottom="true"
- android:layout_marginRight="@dimen/end_call_button_margin_right"
android:layout_marginBottom="@dimen/end_call_button_margin_bottom">
<ImageButton android:id="@+id/floating_end_call_action_button"
android:layout_width="match_parent"
diff --git a/InCallUI/res/values-w500dp-land/dimens.xml b/InCallUI/res/values-w500dp-land/dimens.xml
index 01cf165..42b0886 100644
--- a/InCallUI/res/values-w500dp-land/dimens.xml
+++ b/InCallUI/res/values-w500dp-land/dimens.xml
@@ -33,5 +33,5 @@
<dimen name="video_preview_margin">20dp</dimen>
- <dimen name="end_call_button_margin_right">80dp</dimen>
+ <dimen name="end_call_button_margin_left">50dp</dimen>
</resources>
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java
index 42890f2..feaf5ee 100644
--- a/InCallUI/src/com/android/incallui/Call.java
+++ b/InCallUI/src/com/android/incallui/Call.java
@@ -368,6 +368,12 @@
List<android.telecom.Call> conferenceableCalls) {
update();
}
+
+ @Override
+ public void onConnectionEvent(android.telecom.Call call, String event, Bundle extras) {
+ Log.d(this, "TelecomCallCallback onConnectionEvent call=" + call);
+ update();
+ }
};
boolean mIsActiveSub = false;
diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java
index 7694c5f..d03872b 100644
--- a/InCallUI/src/com/android/incallui/CallButtonFragment.java
+++ b/InCallUI/src/com/android/incallui/CallButtonFragment.java
@@ -281,6 +281,7 @@
} else if (id == R.id.overflowButton) {
if (mOverflowPopup != null) {
updateRecordMenu();
+ updateMergeCallsMenuItem();
mOverflowPopup.show();
}
} else if (id == R.id.manageVideoCallConferenceButton) {
@@ -317,6 +318,13 @@
}
}
+ private void updateMergeCallsMenuItem() {
+ MenuItem item = mOverflowPopup.getMenu().findItem(BUTTON_MERGE);
+ if (item != null) {
+ item.setEnabled(mMergeButton.isEnabled());
+ }
+ }
+
public void updateColors() {
MaterialPalette themeColors = InCallPresenter.getInstance().getThemeColors();
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index 8af8835..665ed8b 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -268,6 +268,10 @@
}
public void mergeClicked() {
+ if (mCall == null) {
+ return;
+ }
+
if (getUi().getContext().getResources().getBoolean(
R.bool.add_multi_participants_enabled)){
int participantsCount = 0;
@@ -499,11 +503,11 @@
final boolean showUpgradeToVideo =
/* When useExt is true, show upgrade button for an active/held
call if the call has either voice or video capabilities */
+ ((isCallActive || isCallOnHold) &&
((useExt && QtiCallUtils.hasVoiceOrVideoCapabilities(call)) ||
/* When useCustomVideoUi is true, show upgrade button for an active/held
voice call only if the current call has video capabilities */
- (useCustomVideoUi && !isVideo && hasVideoCallCapabilities(call))
- && (isCallActive || isCallOnHold)) ||
+ (useCustomVideoUi && !isVideo && hasVideoCallCapabilities(call)))) ||
/* When useExt and custom UI are false, default to Google behaviour */
(!isVideo && !useExt && !useCustomVideoUi && hasVideoCallCapabilities(call));
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java
index dd2af36..4598d3c 100644
--- a/InCallUI/src/com/android/incallui/InCallActivity.java
+++ b/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -309,8 +309,8 @@
InCallPresenter.getInstance().setThemeColors();
InCallPresenter.getInstance().onUiShowing(true);
- // Clear fullscreen state onResume; the stored value may not match reality.
- InCallPresenter.getInstance().clearFullscreen();
+ // Exit fullscreen state onResume; the stored value may not match reality.
+ InCallPresenter.getInstance().setFullScreen(false);
// If there is a pending request to show or hide the dialpad, handle that now.
if (mShowDialpadRequest != DIALPAD_REQUEST_NONE) {