Promotion of atel.lnx.2.0-00054.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1089584   I8d0eb20c3ca45c6ba9182c23e8bb2229788b8343   IMS-VT: Change in position and color of Alert Dialog act
2002691   I34e5eaafb85d211b9adeb569cc2022cf74421323   IMS-VT: Show progress spinner in landscape mode
2001524   I33486fe0b3dcd731e764a22472904c70f53386f4   IMS: Fixes the crash in dialer settings.

Change-Id: Ie3682ac6e36b5dbd4d63d5fa14d6a2d265648b93
CRs-Fixed: 1089584, 2002691, 2001524
diff --git a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
index 343c4da..ea8d291 100644
--- a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
+++ b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
@@ -62,26 +62,6 @@
 
         </FrameLayout>
 
-        <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
-        <FrameLayout
-            android:id="@+id/progressSpinner"
-            android:background="#63000000"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_centerHorizontal="true"
-            android:layout_centerVertical="true"
-            android:visibility="gone" >
-
-            <ProgressBar
-                android:id="@+id/progress_bar"
-                style="@android:style/Widget.Material.ProgressBar"
-                android:layout_gravity="left|center_vertical"
-                android:layout_width="48dp"
-                android:layout_height="48dp"
-                android:indeterminate="true" />
-
-        </FrameLayout>
-
         <fragment android:name="com.android.incallui.VideoCallFragment"
             android:layout_alignParentStart="true"
             android:layout_gravity="start|center_vertical"
@@ -143,6 +123,26 @@
         android:soundEffectsEnabled="false"
         android:background="@drawable/vb_normal"/>
 
+    <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
+    <FrameLayout
+        android:id="@+id/progressSpinner"
+        android:background="#63000000"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_centerHorizontal="true"
+        android:layout_centerVertical="true"
+        android:layout_toEndOf="@id/primary_call_info_container"
+        android:visibility="gone" >
+
+        <ProgressBar
+            android:id="@+id/progress_bar"
+            style="@android:style/Widget.Material.ProgressBar"
+            android:layout_gravity="left|center_vertical"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            android:indeterminate="true" />
+    </FrameLayout>
+
     <!-- Secondary "Call info" block, for the background ("on hold") call. -->
     <include layout="@layout/secondary_call_info"
              android:id="@+id/secondary_call_info"
diff --git a/InCallUI/src/com/android/incallui/InCallLowBatteryListener.java b/InCallUI/src/com/android/incallui/InCallLowBatteryListener.java
index bdc46e1..c413b07 100644
--- a/InCallUI/src/com/android/incallui/InCallLowBatteryListener.java
+++ b/InCallUI/src/com/android/incallui/InCallLowBatteryListener.java
@@ -30,6 +30,7 @@
 package com.android.incallui;
 
 import android.app.AlertDialog;
+import android.graphics.Color;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnCancelListener;
@@ -401,7 +402,7 @@
         });
 
         if (VideoUtils.isIncomingVideoCall(call)) {
-            alertDialog.setNegativeButton(R.string.low_battery_convert, new OnClickListener() {
+            alertDialog.setPositiveButton(R.string.low_battery_convert, new OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
                      Log.d(this, "displayLowBatteryAlert answer as Voice Call");
@@ -411,7 +412,7 @@
             });
 
             alertDialog.setMessage(R.string.low_battery_msg);
-            alertDialog.setPositiveButton(R.string.low_battery_yes, new OnClickListener() {
+            alertDialog.setNegativeButton(R.string.low_battery_yes, new OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
                      Log.d(this, "displayLowBatteryAlert answer as Video Call");
@@ -420,7 +421,7 @@
                 }
             });
         } else if (VideoUtils.isOutgoingVideoCall(call)) {
-            alertDialog.setNegativeButton(R.string.low_battery_convert, new OnClickListener() {
+            alertDialog.setPositiveButton(R.string.low_battery_convert, new OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
                      Log.d(this, "displayLowBatteryAlert place Voice Call");
@@ -437,7 +438,7 @@
             });
 
             alertDialog.setMessage(R.string.low_battery_msg);
-            alertDialog.setPositiveButton(R.string.low_battery_yes, new OnClickListener() {
+            alertDialog.setNegativeButton(R.string.low_battery_yes, new OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
                      Log.d(this, "displayLowBatteryAlert place Video Call");
@@ -453,8 +454,8 @@
             if (QtiCallUtils.hasVoiceCapabilities(call)) {
                 //active video call can be downgraded to voice
                 alertDialog.setMessage(R.string.low_battery_msg);
-                alertDialog.setPositiveButton(R.string.low_battery_yes, null);
-                alertDialog.setNegativeButton(R.string.low_battery_convert, new OnClickListener() {
+                alertDialog.setNegativeButton(R.string.low_battery_yes, null);
+                alertDialog.setPositiveButton(R.string.low_battery_convert, new OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         Log.d(this, "displayLowBatteryAlert downgrading to voice call");
@@ -465,8 +466,8 @@
                 /* video call doesn't have downgrade capabilities, so alert the user
                    with a hangup dialog*/
                 alertDialog.setMessage(R.string.low_battery_hangup_msg);
-                alertDialog.setNegativeButton(R.string.low_battery_no, null);
-                alertDialog.setPositiveButton(R.string.low_battery_yes, new OnClickListener() {
+                alertDialog.setPositiveButton(R.string.low_battery_no, null);
+                alertDialog.setNegativeButton(R.string.low_battery_yes, new OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         Log.d(this, "displayLowBatteryAlert hanging up the call: " + call);
@@ -495,6 +496,11 @@
         mAlert.setCanceledOnTouchOutside(false);
         mAlert.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
         mAlert.show();
+        /*
+         * By default both the buttons will have same color. In case we want to have different color
+         * we need to set specifically.
+         */
+        mAlert.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(Color.BLACK);
     }
 
     /*
diff --git a/src/com/android/dialer/settings/DialerSettingsActivity.java b/src/com/android/dialer/settings/DialerSettingsActivity.java
index 3c6c66c..b6dc5bc 100644
--- a/src/com/android/dialer/settings/DialerSettingsActivity.java
+++ b/src/com/android/dialer/settings/DialerSettingsActivity.java
@@ -87,7 +87,8 @@
             target.add(quickResponseSettingsHeader);
         }
 
-        if (!QtiImsExtUtils.isCarrierOneSupported()) {
+        if (!(QtiImsExtUtils.isCarrierOneSupported()
+                    && QtiImsExtUtils.isCarrierOneCallSettingsAvailable(this))) {
             Header speedDialSettingsHeader = new Header();
             Intent speedDialSettingsIntent = new Intent(this, SpeedDialListActivity.class);
             speedDialSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
@@ -106,7 +107,8 @@
         // "Call Settings" is not shown.
         boolean isPrimaryUser = isPrimaryUser();
 
-        if (QtiImsExtUtils.isCarrierOneSupported()) {
+        if (QtiImsExtUtils.isCarrierOneSupported()
+                    && QtiImsExtUtils.isCarrierOneCallSettingsAvailable(this)) {
             if (isPrimaryUser) {
                 Header callSettingsHeader =  new Header();
                 Intent callSettingsIntent = new Intent(ACTION_LAUNCH_CALL_SETTINGS);
diff --git a/src/com/android/dialer/settings/SoundSettingsFragment.java b/src/com/android/dialer/settings/SoundSettingsFragment.java
index 3736512..c00772e 100644
--- a/src/com/android/dialer/settings/SoundSettingsFragment.java
+++ b/src/com/android/dialer/settings/SoundSettingsFragment.java
@@ -142,7 +142,8 @@
             mVibrateWhenRinging.setChecked(shouldVibrateWhenRinging());
         }
 
-        if (QtiImsExtUtils.isCarrierOneSupported()) {
+        if (QtiImsExtUtils.isCarrierOneSupported()
+                && QtiImsExtUtils.isCarrierOneCallSettingsAvailable(getContext())) {
             getPreferenceScreen().removePreference(mRingtonePreference);
             mRingtonePreference = null;
         }