Promotion of atel.lnx.2.0-00035.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
916896   Iea38af484a206ced44637d82e27df944e7cf0f85   IMS-VT: Exit full screen mode of in-call UI
1099503   Ib202b490c5c60d4d842d1cdf08e3c3b8aec3aab8   IMS: Handle connection event to enable merge button
1085855   I96303bcc5fa2e21b8d8bbb8cb7f7bdb53cd86265   Dialer: Fix the emergence call failure in airplane mode
1089980   I5ced9ca2c2e8984913fce49afc6e4e339a5e59a1   IMS-VT: Volume boost icon is not able to enable
1084024   Iaa8a181b39d25b618fe7045b716871b35f1377d0   Dialer: Fix for Speed dial strings
1095653   I01b9c9fd59480fea86990a2179564bfe37eb238d   IMS-VT: Fix for Call end button overlap

Change-Id: Ia27a756456852ce01add5239a85a58b5c4f9f1fe
CRs-Fixed: 1084024, 916896, 1095653, 1089980, 1085855, 1099503
diff --git a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
index 049f41f..343c4da 100644
--- a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
+++ b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
@@ -120,6 +120,7 @@
     </RelativeLayout>
 
     <LinearLayout
+        android:id="@+id/manage_conference_call"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
@@ -130,16 +131,18 @@
             android:layout_height="wrap_content"
             android:elevation="5dp"
             android:layout_alignParentBottom="true"/>
-
-        <!-- Volume boost and Volume enhancements in-call UI -->
-        <ImageButton android:id="@+id/volumeBoost"
-            android:layout_width="80dp"
-            android:layout_height="80dp"
-            android:visibility="gone"
-            android:soundEffectsEnabled="false"
-            android:background="@drawable/vb_normal"/>
     </LinearLayout>
 
+    <!-- Volume boost and Volume enhancements in-call UI -->
+    <ImageButton android:id="@+id/volumeBoost"
+        android:layout_width="80dp"
+        android:layout_height="80dp"
+        android:layout_toEndOf="@id/primary_call_info_container"
+        android:layout_below="@id/manage_conference_call"
+        android:visibility="gone"
+        android:soundEffectsEnabled="false"
+        android:background="@drawable/vb_normal"/>
+
     <!-- Secondary "Call info" block, for the background ("on hold") call. -->
     <include layout="@layout/secondary_call_info"
              android:id="@+id/secondary_call_info"
@@ -187,14 +190,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/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) {
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ce088cd..26e6ea8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1113,11 +1113,9 @@
 
     <string name="speed_dial_unassigned_dialog_title">Key unassigned</string>
 
-    <string name="speed_dial_unassigned_dialog_message">No speed dial action is assigned to number k
-ey \'<xliff:g id="number">%s</xliff:g>\'. Do you want to assign an action now?</string>
+    <string name="speed_dial_unassigned_dialog_message">No speed dial action is assigned to number key \'<xliff:g id="number">%s</xliff:g>\'. Do you want to assign an action now?</string>
 
-    <string name="dialog_speed_dial_airplane_mode_message">To use speed dial, first turn off Airplan
-e mode.</string>
+    <string name="dialog_speed_dial_airplane_mode_message">To use speed dial, please turn off airplane mode firstly.</string>
 
     <!-- Speed Dial can not be set for the key used for Emergency number-->
     <string name="speed_dial_can_not_be_set">Speed Dial Can not be set for this Key</string>
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index b4070cc..85be754 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -845,7 +845,7 @@
             IntentFilter filter = new IntentFilter(ACTION_WIFI_CALL_READY_STATUS_CHANGE);
             context.registerReceiver(mWifiCallReadyReceiver, filter);
             changeDialpadButton(WifiCallUtils.isWifiCallReadyEnabled(context));
-         }
+        }
         Trace.endSection();
     }
 
@@ -2071,17 +2071,18 @@
     private void dialAfterNetworkCheck() {
         if (ActivityCompat.checkSelfPermission(getContext(),
                 Manifest.permission.ACCESS_COARSE_LOCATION) !=
-            PackageManager.PERMISSION_GRANTED) {
-            requestPermissions(new String[] {Manifest.permission.ACCESS_COARSE_LOCATION},
+                PackageManager.PERMISSION_GRANTED) {
+            requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
                     PERMISSION_REQUEST_CODE_LOCATION);
         } else {
-            if(WifiCallUtils.shallShowWifiCallDialog(getActivity())) {
-                 WifiCallUtils.showWifiCallDialog(getActivity());
-                 WifiCallUtils.showWifiCallNotification(getActivity());
-             } else {
-                 getView().performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
-                 handleDialButtonPressed();
-             }
+            if (!PhoneNumberUtils.isEmergencyNumber(mDigits.getText().toString()) &&
+                    WifiCallUtils.shallShowWifiCallDialog(getActivity())) {
+                WifiCallUtils.showWifiCallDialog(getActivity());
+                WifiCallUtils.showWifiCallNotification(getActivity());
+            } else {
+                getView().performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
+                handleDialButtonPressed();
+            }
         }
     }