Merge "Introduce AppCompatActivity and modify account filter activities" into ub-contactsdialer-b-dev
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index ff3c18d..f2ba9cd 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -226,7 +226,7 @@
     <string name="set_default" msgid="4417505153468300351">"Définir par défaut"</string>
     <string name="clear_default" msgid="7193185801596678067">"Effacer les valeurs par défaut"</string>
     <string name="toast_text_copied" msgid="5143776250008541719">"Texte copié"</string>
-    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Annuler les modifications ?"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Supprimer les modifications ?"</string>
     <string name="cancel_confirmation_dialog_message_positive_button" msgid="5867089312833413172">"Supprimer"</string>
     <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
     <string name="profile_display_name" msgid="4127389543625918771">"Configurer mon profil"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index fe6f0d8..f1a9d7e 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -222,7 +222,7 @@
       <item quantity="one">Mtu <xliff:g id="COUNT_0">%1$d</xliff:g></item>
     </plurals>
     <string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Andika jina ya anwani kabla ya kuiunganisha na nyingine."</string>
-    <string name="copy_text" msgid="3257145021583508761">"Nakili kwenye ubao wa klipu"</string>
+    <string name="copy_text" msgid="3257145021583508761">"Nakili kwenye ubao wa kunakili"</string>
     <string name="set_default" msgid="4417505153468300351">"Weka chaguo-msingi"</string>
     <string name="clear_default" msgid="7193185801596678067">"Ondoa chaguo-msingi"</string>
     <string name="toast_text_copied" msgid="5143776250008541719">"Maandishi yamenakiliwa"</string>
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index ee6173e..13228e4 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -483,7 +483,7 @@
     private final class PhoneNumberPickerActionListener implements
             OnPhoneNumberPickerActionListener {
         @Override
-        public void onPickDataUri(Uri dataUri, int callInitiationType) {
+        public void onPickDataUri(Uri dataUri, boolean isVideoCall, int callInitiationType) {
             returnPickerResult(dataUri);
         }
 
diff --git a/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java b/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java
index d62c730..5b6e11f 100644
--- a/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java
+++ b/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java
@@ -60,7 +60,7 @@
     }
 
     @Override
-    protected void startPhoneNumberShortcutIntent(Uri uri) {
+    protected void startPhoneNumberShortcutIntent(Uri uri, boolean isVideoCall) {
         throw new UnsupportedOperationException();
     }
 
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 516958e..cf95386 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -1865,12 +1865,16 @@
                 smsContentDescription = com.android.contacts.common.util.ContactDisplayUtils
                         .getTelephoneTtsSpannable(alternateContentDescription.toString(), header);
 
+                int videoCapability = CallUtil.getVideoCallingAvailability(context);
+                boolean isPresenceEnabled =
+                        (videoCapability & CallUtil.VIDEO_CALLING_PRESENCE) != 0;
+                boolean isVideoEnabled = (videoCapability & CallUtil.VIDEO_CALLING_ENABLED) != 0;
+
                 if (CallUtil.isCallWithSubjectSupported(context)) {
                     thirdIcon = res.getDrawable(R.drawable.ic_call_note_white_24dp);
                     thirdAction = Entry.ACTION_CALL_WITH_SUBJECT;
                     thirdContentDescription =
                             res.getString(R.string.call_with_a_note);
-
                     // Create a bundle containing the data the call subject dialog requires.
                     thirdExtras = new Bundle();
                     thirdExtras.putLong(CallSubjectDialog.ARG_PHOTO_ID,
@@ -1888,14 +1892,19 @@
                             phone.getFormattedPhoneNumber());
                     thirdExtras.putString(CallSubjectDialog.ARG_NUMBER_LABEL,
                             phoneLabel);
-                } else if (CallUtil.isVideoEnabled(context)) {
-                    // Add video call button if supported
-                    thirdIcon = res.getDrawable(R.drawable.ic_videocam);
-                    thirdAction = Entry.ACTION_INTENT;
-                    thirdIntent = CallUtil.getVideoCallIntent(phone.getNumber(),
-                            CALL_ORIGIN_QUICK_CONTACTS_ACTIVITY);
-                    thirdContentDescription =
-                            res.getString(R.string.description_video_call);
+                } else if (isVideoEnabled) {
+                    // Check to ensure carrier presence indicates the number supports video calling.
+                    int carrierPresence = dataItem.getCarrierPresence();
+                    boolean isPresent = (carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) != 0;
+
+                    if ((isPresenceEnabled && isPresent) || !isPresenceEnabled) {
+                        thirdIcon = res.getDrawable(R.drawable.ic_videocam);
+                        thirdAction = Entry.ACTION_INTENT;
+                        thirdIntent = CallUtil.getVideoCallIntent(phone.getNumber(),
+                                CALL_ORIGIN_QUICK_CONTACTS_ACTIVITY);
+                        thirdContentDescription =
+                                res.getString(R.string.description_video_call);
+                    }
                 }
             }
         } else if (dataItem instanceof EmailDataItem) {