From 10b34a5ebf12e97ecba0caf3c8e30b476b038a96 Mon Sep 17 00:00:00 2001 From: Eric Erfanian Date: Thu, 4 May 2017 08:23:17 -0700 Subject: Update Dialer to V10 RC16 This release was created following the instructions at: go/dialer-aosp-release Subsequent dialer releases will follow as O bugs are fixed, until we reach our final RC. Version: 10 Candidate: RC16 Branch: dialer-android_release_branch/153304843.1 dialer-android/dialer-android_20170416.00/dialer-android_20170416.00_RC16 This release contains the following bug fixes since RC00: Bug: 37324705 35304403 36067503 35304446 33203808 37280992 37346084 35766990 37481880 37424493 36470282 37347691 37519015 37168472 35805360 37545472 27704934 36515614 35766990 37577470 34739750 35801628 36788693 35264204 36708536 37628370 36904650 37314436 37642171 37530847 37637799 37666625 37548549 37648036 37636412 37323529 37630507 35919141 37198343 37548572 36178218 37640315 37663896 37720467 37275944 37710497 31634477 37744796 37348506 37744796 37568534 37672424 34872683 34873026 37681461 34873295 37748373 37526812 37618638 37663896 37536088 37727455 37165687 36651204 36900708 37323529 36902926 37256480 37328353 37432034 37436952 34093562 37720889 37321935 37780300 37781115 37755902 36588206 34258266 37290464 37698062 37618638 37473004 37432034 37918676 37870494 37722091 Test: make, on device Change-Id: I99e1a484ccd578c1f8a13e7a6a4b4952f0791297 --- .../android/contacts/common/AndroidManifest.xml | 8 - .../contacts/common/dialog/CallSubjectDialog.java | 6 +- .../contacts/common/list/ContactListItemView.java | 210 ++++++++++++--------- .../common/list/PhoneNumberListAdapter.java | 89 ++++++++- .../common/list/PhoneNumberPickerFragment.java | 46 ++++- .../contacts/common/model/ContactLoader.java | 26 +-- .../common/res/drawable/ic_call_and_share.xml | 22 +++ .../common/res/drawable/ic_search_video_call.xml | 3 +- .../contacts/common/res/values-af/strings.xml | 5 +- .../contacts/common/res/values-am/strings.xml | 5 +- .../contacts/common/res/values-ar/strings.xml | 5 +- .../contacts/common/res/values-az/strings.xml | 5 +- .../common/res/values-b+sr+Latn/strings.xml | 5 +- .../contacts/common/res/values-be/strings.xml | 5 +- .../contacts/common/res/values-bg/strings.xml | 5 +- .../contacts/common/res/values-bn/strings.xml | 5 +- .../contacts/common/res/values-bs/strings.xml | 5 +- .../contacts/common/res/values-ca/strings.xml | 5 +- .../contacts/common/res/values-cs/strings.xml | 5 +- .../contacts/common/res/values-da/strings.xml | 5 +- .../contacts/common/res/values-de/strings.xml | 5 +- .../contacts/common/res/values-el/strings.xml | 5 +- .../contacts/common/res/values-en-rAU/strings.xml | 5 +- .../contacts/common/res/values-en-rGB/strings.xml | 5 +- .../contacts/common/res/values-en-rIN/strings.xml | 5 +- .../contacts/common/res/values-es-rUS/strings.xml | 5 +- .../contacts/common/res/values-es/strings.xml | 5 +- .../contacts/common/res/values-et/strings.xml | 5 +- .../contacts/common/res/values-eu/strings.xml | 5 +- .../contacts/common/res/values-fa/strings.xml | 5 +- .../contacts/common/res/values-fi/strings.xml | 5 +- .../contacts/common/res/values-fr-rCA/strings.xml | 5 +- .../contacts/common/res/values-fr/strings.xml | 5 +- .../contacts/common/res/values-gl/strings.xml | 5 +- .../contacts/common/res/values-gu/strings.xml | 5 +- .../contacts/common/res/values-hi/strings.xml | 5 +- .../contacts/common/res/values-hr/strings.xml | 5 +- .../contacts/common/res/values-hu/strings.xml | 5 +- .../contacts/common/res/values-hy/strings.xml | 5 +- .../contacts/common/res/values-in/strings.xml | 5 +- .../contacts/common/res/values-is/strings.xml | 5 +- .../contacts/common/res/values-it/strings.xml | 5 +- .../contacts/common/res/values-iw/strings.xml | 5 +- .../contacts/common/res/values-ja/strings.xml | 5 +- .../contacts/common/res/values-ka/strings.xml | 5 +- .../contacts/common/res/values-kk/strings.xml | 5 +- .../contacts/common/res/values-km/strings.xml | 5 +- .../contacts/common/res/values-kn/strings.xml | 5 +- .../contacts/common/res/values-ko/strings.xml | 5 +- .../contacts/common/res/values-ky/strings.xml | 5 +- .../contacts/common/res/values-lo/strings.xml | 5 +- .../contacts/common/res/values-lt/strings.xml | 5 +- .../contacts/common/res/values-lv/strings.xml | 5 +- .../contacts/common/res/values-mk/strings.xml | 5 +- .../contacts/common/res/values-ml/strings.xml | 5 +- .../contacts/common/res/values-mn/strings.xml | 5 +- .../contacts/common/res/values-mr/strings.xml | 5 +- .../contacts/common/res/values-ms/strings.xml | 5 +- .../contacts/common/res/values-my/strings.xml | 5 +- .../contacts/common/res/values-nb/strings.xml | 5 +- .../contacts/common/res/values-ne/strings.xml | 5 +- .../contacts/common/res/values-nl/strings.xml | 5 +- .../contacts/common/res/values-no/strings.xml | 5 +- .../contacts/common/res/values-pa/strings.xml | 5 +- .../contacts/common/res/values-pl/strings.xml | 5 +- .../contacts/common/res/values-pt-rBR/strings.xml | 5 +- .../contacts/common/res/values-pt-rPT/strings.xml | 5 +- .../contacts/common/res/values-pt/strings.xml | 5 +- .../contacts/common/res/values-ro/strings.xml | 5 +- .../contacts/common/res/values-ru/strings.xml | 5 +- .../contacts/common/res/values-si/strings.xml | 5 +- .../contacts/common/res/values-sk/strings.xml | 5 +- .../contacts/common/res/values-sl/strings.xml | 5 +- .../contacts/common/res/values-sq/strings.xml | 5 +- .../contacts/common/res/values-sr/strings.xml | 5 +- .../contacts/common/res/values-sv/strings.xml | 5 +- .../contacts/common/res/values-sw/strings.xml | 5 +- .../contacts/common/res/values-ta/strings.xml | 5 +- .../contacts/common/res/values-te/strings.xml | 5 +- .../contacts/common/res/values-th/strings.xml | 5 +- .../contacts/common/res/values-tl/strings.xml | 5 +- .../contacts/common/res/values-tr/strings.xml | 5 +- .../contacts/common/res/values-uk/strings.xml | 5 +- .../contacts/common/res/values-ur/strings.xml | 5 +- .../contacts/common/res/values-uz/strings.xml | 5 +- .../contacts/common/res/values-vi/strings.xml | 5 +- .../contacts/common/res/values-zh-rCN/strings.xml | 5 +- .../contacts/common/res/values-zh-rHK/strings.xml | 5 +- .../contacts/common/res/values-zh-rTW/strings.xml | 5 +- .../contacts/common/res/values-zu/strings.xml | 5 +- .../android/contacts/common/res/values/strings.xml | 9 +- .../widget/FloatingActionButtonController.java | 8 +- 92 files changed, 623 insertions(+), 214 deletions(-) create mode 100644 java/com/android/contacts/common/res/drawable/ic_call_and_share.xml (limited to 'java/com/android/contacts') diff --git a/java/com/android/contacts/common/AndroidManifest.xml b/java/com/android/contacts/common/AndroidManifest.xml index eae70cd30..e97221549 100644 --- a/java/com/android/contacts/common/AndroidManifest.xml +++ b/java/com/android/contacts/common/AndroidManifest.xml @@ -26,14 +26,6 @@ - - - - - - diff --git a/java/com/android/contacts/common/dialog/CallSubjectDialog.java b/java/com/android/contacts/common/dialog/CallSubjectDialog.java index 117ac5e4e..0e7937102 100644 --- a/java/com/android/contacts/common/dialog/CallSubjectDialog.java +++ b/java/com/android/contacts/common/dialog/CallSubjectDialog.java @@ -330,10 +330,12 @@ public class CallSubjectDialog extends Activity { mContactPhoto.setVisibility(View.GONE); } mNameView.setText(mNameOrNumber); - if (!TextUtils.isEmpty(mNumberLabel) && !TextUtils.isEmpty(mDisplayNumber)) { + if (!TextUtils.isEmpty(mDisplayNumber)) { mNumberView.setVisibility(View.VISIBLE); mNumberView.setText( - getString(R.string.call_subject_type_and_number, mNumberLabel, mDisplayNumber)); + TextUtils.isEmpty(mNumberLabel) + ? mDisplayNumber + : getString(R.string.call_subject_type_and_number, mNumberLabel, mDisplayNumber)); } else { mNumberView.setVisibility(View.GONE); mNumberView.setText(null); diff --git a/java/com/android/contacts/common/list/ContactListItemView.java b/java/com/android/contacts/common/list/ContactListItemView.java index 76842483a..7a3194720 100644 --- a/java/com/android/contacts/common/list/ContactListItemView.java +++ b/java/com/android/contacts/common/list/ContactListItemView.java @@ -29,6 +29,7 @@ import android.os.Bundle; import android.provider.ContactsContract; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.SearchSnippets; +import android.support.annotation.IntDef; import android.support.v4.content.ContextCompat; import android.support.v4.graphics.drawable.DrawableCompat; import android.text.Spannable; @@ -51,10 +52,13 @@ import com.android.contacts.common.ContactStatusUtil; import com.android.contacts.common.R; import com.android.contacts.common.compat.PhoneNumberUtilsCompat; import com.android.contacts.common.format.TextHighlighter; +import com.android.contacts.common.list.PhoneNumberListAdapter.Listener; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.contacts.common.util.SearchUtil; import com.android.dialer.compat.CompatUtils; import com.android.dialer.util.ViewUtil; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -74,6 +78,16 @@ import java.util.regex.Pattern; * contact's data and a divider between contact view. */ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdjuster { + + /** IntDef for indices of ViewPager tabs. */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({NONE, VIDEO, CALL_AND_SHARE}) + public @interface CallToAction {} + + public static final int NONE = 0; + public static final int VIDEO = 1; + public static final int CALL_AND_SHARE = 2; + private static final Pattern SPLIT_PATTERN = Pattern.compile("([\\w-\\.]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})|[\\w]+"); static final char SNIPPET_START_MATCH = '['; @@ -92,8 +106,8 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj private int mNameTextViewTextSize; private int mHeaderWidth; private Drawable mActivatedBackgroundDrawable; - private int mVideoCallIconSize = 32; - private int mVideoCallIconMargin = 16; + private int mCallToActionSize = 32; + private int mCallToActionMargin = 16; // Set in onLayout. Represent left and right position of the View on the screen. private int mLeftOffset; private int mRightOffset; @@ -106,12 +120,10 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj private ArrayList mNumberHighlightSequence; // Highlighting prefix for names. private String mHighlightedPrefix; - /** Used to notify listeners when a video call icon is clicked. */ - private PhoneNumberListAdapter.Listener mPhoneNumberListAdapterListener; - /** Indicates whether to show the "video call" icon, used to initiate a video call. */ - private boolean mShowVideoCallIcon = false; /** Indicates whether the view should leave room for the "video call" icon. */ - private boolean mSupportVideoCallIcon = false; + private boolean mSupportVideoCall; + /** Indicates whether the view should leave room for the "call and share" icon. */ + private boolean mSupportCallAndShare; private PhotoPosition mPhotoPosition = getDefaultPhotoPosition(false /* normal/non opposite */); // Header layout data @@ -127,7 +139,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj private TextView mSnippetView; private TextView mStatusView; private ImageView mPresenceIcon; - private ImageView mVideoCallIcon; + private ImageView mCallToAction; private ImageView mWorkProfileIcon; private ColorStateList mSecondaryTextColor; private int mDefaultPhotoViewSize = 0; @@ -168,20 +180,24 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj private boolean mAdjustSelectionBoundsEnabled = true; private Rect mBoundsWithoutHeader = new Rect(); private CharSequence mUnknownNameText; - private int mPosition; public ContactListItemView(Context context) { super(context); mTextHighlighter = new TextHighlighter(Typeface.BOLD); - mNameHighlightSequence = new ArrayList(); - mNumberHighlightSequence = new ArrayList(); + mNameHighlightSequence = new ArrayList<>(); + mNumberHighlightSequence = new ArrayList<>(); } - public ContactListItemView(Context context, AttributeSet attrs, boolean supportVideoCallIcon) { + public ContactListItemView( + Context context, + AttributeSet attrs, + boolean supportVideoCallIcon, + boolean supportCallAndShare) { this(context, attrs); - mSupportVideoCallIcon = supportVideoCallIcon; + mSupportVideoCall = supportVideoCallIcon; + mSupportCallAndShare = supportCallAndShare; } public ContactListItemView(Context context, AttributeSet attrs) { @@ -197,7 +213,6 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj R.styleable.ContactListItemView_list_item_height, mPreferredHeight); mActivatedBackgroundDrawable = a.getDrawable(R.styleable.ContactListItemView_activated_background); - mGapBetweenImageAndText = a.getDimensionPixelOffset( R.styleable.ContactListItemView_list_item_gap_between_image_and_text, @@ -235,13 +250,13 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj a.getDimension( R.styleable.ContactListItemView_list_item_name_text_size, (int) getResources().getDimension(R.dimen.contact_browser_list_item_text_size)); - mVideoCallIconSize = + mCallToActionSize = a.getDimensionPixelOffset( - R.styleable.ContactListItemView_list_item_video_call_icon_size, mVideoCallIconSize); - mVideoCallIconMargin = + R.styleable.ContactListItemView_list_item_video_call_icon_size, mCallToActionSize); + mCallToActionMargin = a.getDimensionPixelOffset( R.styleable.ContactListItemView_list_item_video_call_icon_margin, - mVideoCallIconMargin); + mCallToActionMargin); setPaddingRelative( a.getDimensionPixelOffset(R.styleable.ContactListItemView_list_item_padding_left, 0), @@ -266,13 +281,13 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj mActivatedBackgroundDrawable.setCallback(this); } - mNameHighlightSequence = new ArrayList(); - mNumberHighlightSequence = new ArrayList(); + mNameHighlightSequence = new ArrayList<>(); + mNumberHighlightSequence = new ArrayList<>(); setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE); } - public static final PhotoPosition getDefaultPhotoPosition(boolean opposite) { + public static PhotoPosition getDefaultPhotoPosition(boolean opposite) { final Locale locale = Locale.getDefault(); final int layoutDirection = TextUtils.getLayoutDirectionFromLocale(locale); switch (layoutDirection) { @@ -310,45 +325,43 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj } /** - * Sets whether the video calling icon is shown. For the video calling icon to be shown, {@link - * #mSupportVideoCallIcon} must be {@code true}. + * Sets whether the call to action is shown. For the {@link CallToAction} to be shown, it must be + * supported as well. * - * @param showVideoCallIcon {@code true} if the video calling icon is shown, {@code false} - * otherwise. - * @param listener Listener to notify when the video calling icon is clicked. - * @param position The position in the adapater of the video calling icon. + * @param action {@link CallToAction} you want to display (if it's supported). + * @param listener Listener to notify when the call to action is clicked. + * @param position The position in the adapter of the call to action. */ - public void setShowVideoCallIcon( - boolean showVideoCallIcon, PhoneNumberListAdapter.Listener listener, int position) { - mShowVideoCallIcon = showVideoCallIcon; - mPhoneNumberListAdapterListener = listener; - mPosition = position; - - if (mShowVideoCallIcon) { - if (mVideoCallIcon == null) { - mVideoCallIcon = new ImageView(getContext()); - addView(mVideoCallIcon); - } - mVideoCallIcon.setContentDescription( - getContext().getString(R.string.description_search_video_call)); - mVideoCallIcon.setImageResource(R.drawable.ic_search_video_call); - mVideoCallIcon.setScaleType(ScaleType.CENTER); - mVideoCallIcon.setVisibility(View.VISIBLE); - mVideoCallIcon.setOnClickListener( - new OnClickListener() { - @Override - public void onClick(View v) { - // Inform the adapter that the video calling icon was clicked. - if (mPhoneNumberListAdapterListener != null) { - mPhoneNumberListAdapterListener.onVideoCallIconClicked(mPosition); - } - } - }); + public void setCallToAction(@CallToAction int action, Listener listener, int position) { + int drawable; + int description; + OnClickListener onClickListener; + if (action == CALL_AND_SHARE && mSupportCallAndShare) { + drawable = R.drawable.ic_call_and_share; + description = R.string.description_search_video_call; + onClickListener = v -> listener.onCallAndShareIconClicked(position); + } else if (action == VIDEO && mSupportVideoCall) { + drawable = R.drawable.ic_search_video_call; + description = R.string.description_search_call_and_share; + onClickListener = v -> listener.onVideoCallIconClicked(position); } else { - if (mVideoCallIcon != null) { - mVideoCallIcon.setVisibility(View.GONE); + if (mCallToAction != null) { + mCallToAction.setVisibility(View.GONE); + mCallToAction.setOnClickListener(null); } + return; } + + if (mCallToAction == null) { + mCallToAction = new ImageView(getContext()); + mCallToAction.setLayoutParams(new LayoutParams(mCallToActionSize, mCallToActionSize)); + mCallToAction.setScaleType(ScaleType.CENTER); + addView(mCallToAction); + } + mCallToAction.setContentDescription(getContext().getString(description)); + mCallToAction.setOnClickListener(onClickListener); + mCallToAction.setImageResource(drawable); + mCallToAction.setVisibility(View.VISIBLE); } /** @@ -356,11 +369,23 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj * actually showing an icon. Support for the video calling icon ensures that the layout leaves * space for the video icon, should it be shown. * - * @param supportVideoCallIcon {@code true} if the video call icon is supported, {@code false} + * @param supportVideoCall {@code true} if the video call icon is supported, {@code false} + * otherwise. + */ + public void setSupportVideoCallIcon(boolean supportVideoCall) { + mSupportVideoCall = supportVideoCall; + } + + /** + * Sets whether the view supports a call and share icon. This is independent of whether the view + * is actually showing an icon. Support for the icon ensures that the layout leaves space for it, + * should it be shown. + * + * @param supportCallAndShare {@code true} if the call and share icon is supported, {@code false} * otherwise. */ - public void setSupportVideoCallIcon(boolean supportVideoCallIcon) { - mSupportVideoCallIcon = supportVideoCallIcon; + public void setSupportCallAndShareIcon(boolean supportCallAndShare) { + mSupportCallAndShare = supportCallAndShare; } @Override @@ -398,8 +423,8 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj effectiveWidth -= mHeaderWidth + mGapBetweenImageAndText; } - if (mSupportVideoCallIcon) { - effectiveWidth -= (mVideoCallIconSize + mVideoCallIconMargin); + if (mSupportVideoCall || mSupportCallAndShare) { + effectiveWidth -= (mCallToActionSize + mCallToActionMargin); } // Go over all visible text views and measure actual width of each of them. @@ -471,10 +496,10 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj mStatusTextViewHeight = mPresenceIcon.getMeasuredHeight(); } - if (mSupportVideoCallIcon && isVisible(mVideoCallIcon)) { - mVideoCallIcon.measure( - MeasureSpec.makeMeasureSpec(mVideoCallIconSize, MeasureSpec.EXACTLY), - MeasureSpec.makeMeasureSpec(mVideoCallIconSize, MeasureSpec.EXACTLY)); + if ((mSupportVideoCall || mSupportCallAndShare) && isVisible(mCallToAction)) { + mCallToAction.measure( + MeasureSpec.makeMeasureSpec(mCallToActionSize, MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(mCallToActionSize, MeasureSpec.EXACTLY)); } if (isVisible(mWorkProfileIcon)) { @@ -529,7 +554,6 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj // Determine the vertical bounds by laying out the header first. int topBound = 0; - int bottomBound = height; int leftBound = getPaddingLeft(); int rightBound = width - getPaddingRight(); @@ -545,7 +569,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj } if (mHeaderTextView != null) { int headerHeight = mHeaderTextView.getMeasuredHeight(); - int headerTopBound = (bottomBound + topBound - headerHeight) / 2 + mTextOffsetTop; + int headerTopBound = (height + topBound - headerHeight) / 2 + mTextOffsetTop; mHeaderTextView.layout( isLayoutRtl ? rightBound - mHeaderWidth : leftBound, @@ -560,7 +584,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj } } - mBoundsWithoutHeader.set(left + leftBound, topBound, left + rightBound, bottomBound); + mBoundsWithoutHeader.set(left + leftBound, topBound, left + rightBound, height); mLeftOffset = left + leftBound; mRightOffset = left + rightBound; if (mIsSectionHeaderEnabled) { @@ -580,7 +604,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj // Photo is the left most view. All the other Views should on the right of the photo. if (photoView != null) { // Center the photo vertically - final int photoTop = topBound + (bottomBound - topBound - mPhotoViewHeight) / 2; + final int photoTop = topBound + (height - topBound - mPhotoViewHeight) / 2; photoView.layout( leftBound, photoTop, leftBound + mPhotoViewWidth, photoTop + mPhotoViewHeight); leftBound += mPhotoViewWidth + mGapBetweenImageAndText; @@ -592,7 +616,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj // Photo is the right most view. Right bound should be adjusted that way. if (photoView != null) { // Center the photo vertically - final int photoTop = topBound + (bottomBound - topBound - mPhotoViewHeight) / 2; + final int photoTop = topBound + (height - topBound - mPhotoViewHeight) / 2; photoView.layout( rightBound - mPhotoViewWidth, photoTop, rightBound, photoTop + mPhotoViewHeight); rightBound -= (mPhotoViewWidth + mGapBetweenImageAndText); @@ -605,33 +629,33 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj leftBound += mTextIndent; } - if (mSupportVideoCallIcon) { - // Place the video call button at the end of the list (e.g. take into account RTL mode). - if (isVisible(mVideoCallIcon)) { - // Center the video icon vertically - final int videoIconTop = topBound + (bottomBound - topBound - mVideoCallIconSize) / 2; + if (mSupportVideoCall || mSupportCallAndShare) { + // Place the call to action at the end of the list (e.g. take into account RTL mode). + if (isVisible(mCallToAction)) { + // Center the icon vertically + final int callToActionTop = topBound + (height - topBound - mCallToActionSize) / 2; if (!isLayoutRtl) { - // When photo is on left, video icon is placed on the right edge. - mVideoCallIcon.layout( - rightBound - mVideoCallIconSize, - videoIconTop, + // When photo is on left, icon is placed on the right edge. + mCallToAction.layout( + rightBound - mCallToActionSize, + callToActionTop, rightBound, - videoIconTop + mVideoCallIconSize); + callToActionTop + mCallToActionSize); } else { - // When photo is on right, video icon is placed on the left edge. - mVideoCallIcon.layout( + // When photo is on right, icon is placed on the left edge. + mCallToAction.layout( leftBound, - videoIconTop, - leftBound + mVideoCallIconSize, - videoIconTop + mVideoCallIconSize); + callToActionTop, + leftBound + mCallToActionSize, + callToActionTop + mCallToActionSize); } } if (mPhotoPosition == PhotoPosition.LEFT) { - rightBound -= (mVideoCallIconSize + mVideoCallIconMargin); + rightBound -= (mCallToActionSize + mCallToActionMargin); } else { - leftBound += mVideoCallIconSize + mVideoCallIconMargin; + leftBound += mCallToActionSize + mCallToActionMargin; } } @@ -642,7 +666,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj + mLabelAndDataViewMaxHeight + mSnippetTextViewHeight + mStatusTextViewHeight; - int textTopBound = (bottomBound + topBound - totalTextHeight) / 2 + mTextOffsetTop; + int textTopBound = (height + topBound - totalTextHeight) / 2 + mTextOffsetTop; // Work Profile icon align top int workProfileIconWidth = 0; @@ -854,7 +878,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj if (!TextUtils.isEmpty(title)) { if (mHeaderTextView == null) { mHeaderTextView = new TextView(getContext()); - mHeaderTextView.setTextAppearance(getContext(), R.style.SectionHeaderStyle); + mHeaderTextView.setTextAppearance(R.style.SectionHeaderStyle); mHeaderTextView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); addView(mHeaderTextView); } @@ -1014,7 +1038,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj mLabelView.setSingleLine(true); mLabelView.setEllipsize(getTextEllipsis()); - mLabelView.setTextAppearance(getContext(), R.style.TextAppearanceSmall); + mLabelView.setTextAppearance(R.style.TextAppearanceSmall); if (mPhotoPosition == PhotoPosition.LEFT) { mLabelView.setAllCaps(true); } else { @@ -1081,7 +1105,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj mDataView = new TextView(getContext()); mDataView.setSingleLine(true); mDataView.setEllipsize(getTextEllipsis()); - mDataView.setTextAppearance(getContext(), R.style.TextAppearanceSmall); + mDataView.setTextAppearance(R.style.TextAppearanceSmall); mDataView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START); mDataView.setActivated(isActivated()); mDataView.setId(R.id.cliv_data_view); @@ -1117,7 +1141,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj mSnippetView = new TextView(getContext()); mSnippetView.setSingleLine(true); mSnippetView.setEllipsize(getTextEllipsis()); - mSnippetView.setTextAppearance(getContext(), android.R.style.TextAppearance_Small); + mSnippetView.setTextAppearance(android.R.style.TextAppearance_Small); mSnippetView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START); mSnippetView.setActivated(isActivated()); addView(mSnippetView); @@ -1131,7 +1155,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj mStatusView = new TextView(getContext()); mStatusView.setSingleLine(true); mStatusView.setEllipsize(getTextEllipsis()); - mStatusView.setTextAppearance(getContext(), android.R.style.TextAppearance_Small); + mStatusView.setTextAppearance(android.R.style.TextAppearance_Small); mStatusView.setTextColor(mSecondaryTextColor); mStatusView.setActivated(isActivated()); mStatusView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START); @@ -1483,7 +1507,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj } } - private final boolean pointIsInView(float localX, float localY) { + private boolean pointIsInView(float localX, float localY) { return localX >= mLeftOffset && localX < mRightOffset && localY >= 0 diff --git a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java index c7b24229f..9a490d78a 100644 --- a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java +++ b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java @@ -28,20 +28,26 @@ import android.provider.ContactsContract.CommonDataKinds.SipAddress; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Directory; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.view.ViewGroup; +import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.GeoUtil; import com.android.contacts.common.R; import com.android.contacts.common.compat.CallableCompat; import com.android.contacts.common.compat.DirectoryCompat; import com.android.contacts.common.compat.PhoneCompat; import com.android.contacts.common.extensions.PhoneDirectoryExtenderAccessor; +import com.android.contacts.common.list.ContactListItemView.CallToAction; import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.Constants; +import com.android.dialer.callcomposer.CallComposerContact; +import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; +import com.android.dialer.enrichedcall.EnrichedCallCapabilities; +import com.android.dialer.enrichedcall.EnrichedCallComponent; +import com.android.dialer.enrichedcall.EnrichedCallManager; +import com.android.dialer.location.GeoUtil; import com.android.dialer.util.CallUtil; import java.util.ArrayList; import java.util.Arrays; @@ -62,6 +68,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { // A list of extended directories to add to the directories from the database private final List mExtendedDirectories; private final CharSequence mUnknownNameText; + private final boolean mCallAndShareEnabled; // Extended directories will have ID's that are higher than any of the id's from the database, // so that we can identify them and set them up properly. If no extended directories // exist, this will be Long.MAX_VALUE @@ -83,6 +90,9 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { int videoCapabilities = CallUtil.getVideoCallingAvailability(context); mIsVideoEnabled = (videoCapabilities & CallUtil.VIDEO_CALLING_ENABLED) != 0; mIsPresenceEnabled = (videoCapabilities & CallUtil.VIDEO_CALLING_PRESENCE) != 0; + + // TODO + mCallAndShareEnabled = true; } @Override @@ -207,7 +217,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { case ContactListFilter.FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY: break; // This adapter is always "phone only", so no selection needed either. default: - Log.w( + LogUtil.w( TAG, "Unsupported filter type came " + "(type: " @@ -239,6 +249,48 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { return item != null ? item.getString(PhoneQuery.LOOKUP_KEY) : null; } + public CallComposerContact getCallComposerContact(int position) { + Cursor cursor = (Cursor) getItem(position); + if (cursor == null) { + LogUtil.e("PhoneNumberListAdapter.getCallComposerContact", "cursor was null."); + return null; + } + + String displayName = cursor.getString(PhoneQuery.DISPLAY_NAME); + String number = cursor.getString(PhoneQuery.PHONE_NUMBER); + String photoUri = cursor.getString(PhoneQuery.PHOTO_URI); + Uri contactUri = + Contacts.getLookupUri( + cursor.getLong(PhoneQuery.CONTACT_ID), cursor.getString(PhoneQuery.LOOKUP_KEY)); + + CallComposerContact.Builder contact = CallComposerContact.newBuilder(); + contact + .setNumber(number) + .setPhotoId(cursor.getLong(PhoneQuery.PHOTO_ID)) + .setContactType(ContactPhotoManager.TYPE_DEFAULT) + .setNameOrNumber(displayName) + .setNumberLabel( + Phone.getTypeLabel( + mContext.getResources(), + cursor.getInt(PhoneQuery.PHONE_TYPE), + cursor.getString(PhoneQuery.PHONE_LABEL)) + .toString()); + + if (photoUri != null) { + contact.setPhotoUri(photoUri); + } + + if (contactUri != null) { + contact.setContactUri(contactUri.toString()); + } + + if (!TextUtils.isEmpty(displayName)) { + contact.setDisplayNumber(number); + } + + return contact.build(); + } + @Override protected ContactListItemView newView( Context context, int partition, Cursor cursor, int position, ViewGroup parent) { @@ -323,12 +375,13 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { final String customLabel = cursor.getString(PhoneQuery.PHONE_LABEL); // TODO cache - label = Phone.getTypeLabel(getContext().getResources(), type, customLabel); + label = Phone.getTypeLabel(mContext.getResources(), type, customLabel); } view.setLabel(label); final String text; + String number = cursor.getString(PhoneQuery.PHONE_NUMBER); if (displayNumber) { - text = cursor.getString(PhoneQuery.PHONE_NUMBER); + text = number; } else { // Display phone label. If that's null, display geocoded location for the number final String phoneLabel = cursor.getString(PhoneQuery.PHONE_LABEL); @@ -341,14 +394,32 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { } view.setPhoneNumber(text); + @CallToAction int action = ContactListItemView.NONE; + if (CompatUtils.isVideoCompatible()) { // Determine if carrier presence indicates the number supports video calling. int carrierPresence = cursor.getInt(PhoneQuery.CARRIER_PRESENCE); boolean isPresent = (carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) != 0; boolean isVideoIconShown = mIsVideoEnabled && (!mIsPresenceEnabled || isPresent); - view.setShowVideoCallIcon(isVideoIconShown, mListener, position); + if (isVideoIconShown) { + action = ContactListItemView.VIDEO; + } + } + + if (isCallAndShareEnabled() && action == ContactListItemView.NONE && number != null) { + EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager(); + EnrichedCallCapabilities capabilities = manager.getCapabilities(number); + if (capabilities != null && capabilities.supportsCallComposer()) { + action = ContactListItemView.CALL_AND_SHARE; + } else if (capabilities == null + && getQueryString() != null + && getQueryString().length() >= 3) { + manager.requestCapabilities(number); + } } + + view.setCallToAction(action, mListener, position); } protected void bindSectionHeaderAndDivider(final ContactListItemView view, int position) { @@ -499,9 +570,15 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { mListener = listener; } + public boolean isCallAndShareEnabled() { + return mCallAndShareEnabled; + } + public interface Listener { void onVideoCallIconClicked(int position); + + void onCallAndShareIconClicked(int position); } public static class PhoneQuery { diff --git a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java index 99c41f92d..8f25f82a5 100644 --- a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java +++ b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java @@ -15,6 +15,8 @@ */ package com.android.contacts.common.list; +import android.content.ComponentName; +import android.content.Intent; import android.content.Loader; import android.database.Cursor; import android.os.Bundle; @@ -28,19 +30,23 @@ import android.view.View; import android.view.ViewGroup; import com.android.contacts.common.R; import com.android.contacts.common.util.AccountFilterUtil; +import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallInitiationType.Type; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; +import com.android.dialer.enrichedcall.EnrichedCallComponent; +import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.logging.Logger; +import com.android.dialer.protos.ProtoParsers; import java.util.Set; import org.json.JSONException; import org.json.JSONObject; /** Fragment containing a phone number list for picking. */ public class PhoneNumberPickerFragment extends ContactEntryListFragment - implements PhoneNumberListAdapter.Listener { + implements PhoneNumberListAdapter.Listener, EnrichedCallManager.CapabilitiesListener { private static final String KEY_FILTER = "filter"; private OnPhoneNumberPickerActionListener mListener; @@ -58,8 +64,7 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment mLoadFinishedListeners = - new ArraySet(); + private final Set mLoadFinishedListeners = new ArraySet<>(); private CursorReranker mCursorReranker; @@ -83,6 +88,18 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment { @Override public Contact loadInBackground() { - Log.e(TAG, "loadInBackground=" + mLookupUri); + LogUtil.e(TAG, "loadInBackground=" + mLookupUri); try { final ContentResolver resolver = getContext().getContentResolver(); final Uri uriCurrentFormat = ContactLoaderUtils.ensureIsContactUri(resolver, mLookupUri); @@ -264,7 +263,7 @@ public class ContactLoader extends AsyncTaskLoader { } return result; } catch (Exception e) { - Log.e(TAG, "Error loading the contact: " + mLookupUri, e); + LogUtil.e(TAG, "Error loading the contact: " + mLookupUri, e); return Contact.forError(mRequestedUri, e); } } @@ -274,7 +273,7 @@ public class ContactLoader extends AsyncTaskLoader { Cursor cursor = resolver.query(entityUri, ContactQuery.COLUMNS, null, null, Contacts.Entity.RAW_CONTACT_ID); if (cursor == null) { - Log.e(TAG, "No cursor returned in loadContactEntity"); + LogUtil.e(TAG, "No cursor returned in loadContactEntity"); return Contact.forNotFound(mRequestedUri); } @@ -521,10 +520,7 @@ public class ContactLoader extends AsyncTaskLoader { cursorColumnToContentValues(cursor, cv, ContactQuery.CHAT_CAPABILITY); cursorColumnToContentValues(cursor, cv, ContactQuery.TIMES_USED); cursorColumnToContentValues(cursor, cv, ContactQuery.LAST_TIME_USED); - if (CompatUtils.isMarshmallowCompatible()) { - cursorColumnToContentValues(cursor, cv, ContactQuery.CARRIER_PRESENCE); - } - + cursorColumnToContentValues(cursor, cv, ContactQuery.CARRIER_PRESENCE); return cv; } @@ -577,7 +573,7 @@ public class ContactLoader extends AsyncTaskLoader { Resources resources = pm.getResourcesForApplication(packageName); directoryType = resources.getString(typeResourceId); } catch (NameNotFoundException e) { - Log.w( + LogUtil.w( TAG, "Contact directory resource not found: " + packageName + "." + typeResourceId); } } @@ -692,7 +688,7 @@ public class ContactLoader extends AsyncTaskLoader { mLookupUri = result.getLookupUri(); if (!result.isDirectoryEntry()) { - Log.i(TAG, "Registering content observer for " + mLookupUri); + LogUtil.i(TAG, "Registering content observer for " + mLookupUri); if (mObserver == null) { mObserver = new ForceLoadContentObserver(); } @@ -732,7 +728,7 @@ public class ContactLoader extends AsyncTaskLoader { try { context.startService(intent); } catch (Exception e) { - Log.e(TAG, "Error sending message to source-app", e); + LogUtil.e(TAG, "Error sending message to source-app", e); } } } @@ -919,9 +915,7 @@ public class ContactLoader extends AsyncTaskLoader { static { List projectionList = Lists.newArrayList(COLUMNS_INTERNAL); - if (CompatUtils.isMarshmallowCompatible()) { - projectionList.add(Data.CARRIER_PRESENCE); - } + projectionList.add(Data.CARRIER_PRESENCE); COLUMNS = projectionList.toArray(new String[projectionList.size()]); } } diff --git a/java/com/android/contacts/common/res/drawable/ic_call_and_share.xml b/java/com/android/contacts/common/res/drawable/ic_call_and_share.xml new file mode 100644 index 000000000..be0cdd358 --- /dev/null +++ b/java/com/android/contacts/common/res/drawable/ic_call_and_share.xml @@ -0,0 +1,22 @@ + + + + \ No newline at end of file diff --git a/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml b/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml index 68c46fed6..0fe0367e1 100644 --- a/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml +++ b/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml @@ -18,4 +18,5 @@ + android:tint="@color/search_video_call_icon_tint" + android:background="?attr/selectableItemBackgroundBorderless"/> diff --git a/java/com/android/contacts/common/res/values-af/strings.xml b/java/com/android/contacts/common/res/values-af/strings.xml index 1f1b33c62..9b8bf7886 100644 --- a/java/com/android/contacts/common/res/values-af/strings.xml +++ b/java/com/android/contacts/common/res/values-af/strings.xml @@ -261,5 +261,8 @@ "Diensbepalings" "Oopbronlisensies" "Kon nie die URL oopmaak nie." - "Maak video-oproep" + + + + diff --git a/java/com/android/contacts/common/res/values-am/strings.xml b/java/com/android/contacts/common/res/values-am/strings.xml index 81b87fc61..1e56dd26b 100644 --- a/java/com/android/contacts/common/res/values-am/strings.xml +++ b/java/com/android/contacts/common/res/values-am/strings.xml @@ -261,5 +261,8 @@ "የአገልግሎት ውል" "የክፍት ምንጭ ፈቃዶች" "ዩ አር ኤሉን ለመክፈት አልተሳካም።" - "የቪዲዮ ጥሪ አስቀምጥ" + + + + diff --git a/java/com/android/contacts/common/res/values-ar/strings.xml b/java/com/android/contacts/common/res/values-ar/strings.xml index b878582a1..366613d85 100644 --- a/java/com/android/contacts/common/res/values-ar/strings.xml +++ b/java/com/android/contacts/common/res/values-ar/strings.xml @@ -269,5 +269,8 @@ "بنود الخدمة" "تراخيص البرامج مفتوحة المصدر" "‏فشل فتح عنوان URL." - "إجراء مكالمة فيديو" + + + + diff --git a/java/com/android/contacts/common/res/values-az/strings.xml b/java/com/android/contacts/common/res/values-az/strings.xml index da6f0a940..04647a580 100644 --- a/java/com/android/contacts/common/res/values-az/strings.xml +++ b/java/com/android/contacts/common/res/values-az/strings.xml @@ -261,5 +261,8 @@ "Xidmət şərtləri" "Açıq mənbə lisenziyaları" "Linki açmaq alınmadı." - "Video zəng edin" + + + + diff --git a/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml b/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml index 0d8cdee95..4ef8bebc3 100644 --- a/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml +++ b/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml @@ -263,5 +263,8 @@ "Uslovi korišćenja usluge" "Licence otvorenog koda" "Otvaranje URL-a nije uspelo." - "Uputi video poziv" + + + + diff --git a/java/com/android/contacts/common/res/values-be/strings.xml b/java/com/android/contacts/common/res/values-be/strings.xml index d4f8e4cf2..95be65221 100644 --- a/java/com/android/contacts/common/res/values-be/strings.xml +++ b/java/com/android/contacts/common/res/values-be/strings.xml @@ -265,5 +265,8 @@ "Умовы абслугоўвання" "Ліцэнзіі ПЗ з адкрытым зыходным кодам" "Не ўдалося адкрыць URL." - "Зрабіць відэавыклік" + + + + diff --git a/java/com/android/contacts/common/res/values-bg/strings.xml b/java/com/android/contacts/common/res/values-bg/strings.xml index 23345d8ea..68a9d1215 100644 --- a/java/com/android/contacts/common/res/values-bg/strings.xml +++ b/java/com/android/contacts/common/res/values-bg/strings.xml @@ -261,5 +261,8 @@ "Общи условия" "Лицензи за отворен код" "Отварянето на URL адреса не бе успешно." - "Извършване на видеообаждане" + + + + diff --git a/java/com/android/contacts/common/res/values-bn/strings.xml b/java/com/android/contacts/common/res/values-bn/strings.xml index d7df63aa1..0c10cc828 100644 --- a/java/com/android/contacts/common/res/values-bn/strings.xml +++ b/java/com/android/contacts/common/res/values-bn/strings.xml @@ -261,5 +261,8 @@ "পরিষেবার শর্তাবলী" "মুক্ত উৎস লাইসেন্সগুলি" "url খুলতে ব্যর্থ হয়েছে৷" - "ভিডিও কল করুন" + + + + diff --git a/java/com/android/contacts/common/res/values-bs/strings.xml b/java/com/android/contacts/common/res/values-bs/strings.xml index d8916d7d5..b00806927 100644 --- a/java/com/android/contacts/common/res/values-bs/strings.xml +++ b/java/com/android/contacts/common/res/values-bs/strings.xml @@ -263,5 +263,8 @@ "Uslovi pružanja usluge" "Licence otvorenog koda" "Otvaranje URL-a nije uspjelo." - "Uputi videopoziv" + + + + diff --git a/java/com/android/contacts/common/res/values-ca/strings.xml b/java/com/android/contacts/common/res/values-ca/strings.xml index c08c13e7a..0e4b2c5ee 100644 --- a/java/com/android/contacts/common/res/values-ca/strings.xml +++ b/java/com/android/contacts/common/res/values-ca/strings.xml @@ -261,5 +261,8 @@ "Condicions del servei" "Llicències de programari lliure" "No s\'ha pogut obrir l\'URL." - "Fa una videotrucada" + + + + diff --git a/java/com/android/contacts/common/res/values-cs/strings.xml b/java/com/android/contacts/common/res/values-cs/strings.xml index 743a12ce9..0e9646fe2 100644 --- a/java/com/android/contacts/common/res/values-cs/strings.xml +++ b/java/com/android/contacts/common/res/values-cs/strings.xml @@ -265,5 +265,8 @@ "Smluvní podmínky" "Licence open source" "Adresu URL se nepodařilo otevřít." - "Zahájit videohovor" + + + + diff --git a/java/com/android/contacts/common/res/values-da/strings.xml b/java/com/android/contacts/common/res/values-da/strings.xml index 8bfa56d93..534225ece 100644 --- a/java/com/android/contacts/common/res/values-da/strings.xml +++ b/java/com/android/contacts/common/res/values-da/strings.xml @@ -261,5 +261,8 @@ "Servicevilkår" "Open source-licenser" "Webadressen kunne ikke åbnes." - "Foretag videoopkald" + + + + diff --git a/java/com/android/contacts/common/res/values-de/strings.xml b/java/com/android/contacts/common/res/values-de/strings.xml index 146fa966e..ffc5de0e9 100644 --- a/java/com/android/contacts/common/res/values-de/strings.xml +++ b/java/com/android/contacts/common/res/values-de/strings.xml @@ -261,5 +261,8 @@ "Nutzungsbedingungen" "Open-Source-Lizenzen" "Die URL konnte nicht geöffnet werden." - "Videoanruf starten" + + + + diff --git a/java/com/android/contacts/common/res/values-el/strings.xml b/java/com/android/contacts/common/res/values-el/strings.xml index 510fcb046..5b1c7da2b 100644 --- a/java/com/android/contacts/common/res/values-el/strings.xml +++ b/java/com/android/contacts/common/res/values-el/strings.xml @@ -261,5 +261,8 @@ "Όροι Παροχής Υπηρεσιών" "Άδειες λογισμικού ανοικτού κώδικα" "Αποτυχία ανοίγματος url." - "Πραγματοποίηση βιντεοκλήσης" + + + + diff --git a/java/com/android/contacts/common/res/values-en-rAU/strings.xml b/java/com/android/contacts/common/res/values-en-rAU/strings.xml index 79a09fff0..1040b1d4e 100644 --- a/java/com/android/contacts/common/res/values-en-rAU/strings.xml +++ b/java/com/android/contacts/common/res/values-en-rAU/strings.xml @@ -261,5 +261,8 @@ "Terms of Service" "Open-source licences" "Failed to open the URL." - "Place video call" + + + + diff --git a/java/com/android/contacts/common/res/values-en-rGB/strings.xml b/java/com/android/contacts/common/res/values-en-rGB/strings.xml index 79a09fff0..1040b1d4e 100644 --- a/java/com/android/contacts/common/res/values-en-rGB/strings.xml +++ b/java/com/android/contacts/common/res/values-en-rGB/strings.xml @@ -261,5 +261,8 @@ "Terms of Service" "Open-source licences" "Failed to open the URL." - "Place video call" + + + + diff --git a/java/com/android/contacts/common/res/values-en-rIN/strings.xml b/java/com/android/contacts/common/res/values-en-rIN/strings.xml index 79a09fff0..1040b1d4e 100644 --- a/java/com/android/contacts/common/res/values-en-rIN/strings.xml +++ b/java/com/android/contacts/common/res/values-en-rIN/strings.xml @@ -261,5 +261,8 @@ "Terms of Service" "Open-source licences" "Failed to open the URL." - "Place video call" + + + + diff --git a/java/com/android/contacts/common/res/values-es-rUS/strings.xml b/java/com/android/contacts/common/res/values-es-rUS/strings.xml index f44426beb..59ac2ce8b 100644 --- a/java/com/android/contacts/common/res/values-es-rUS/strings.xml +++ b/java/com/android/contacts/common/res/values-es-rUS/strings.xml @@ -261,5 +261,8 @@ "Condiciones del servicio" "Licencias de código abierto" "No se pudo abrir la url." - "Hacer una videollamada" + + + + diff --git a/java/com/android/contacts/common/res/values-es/strings.xml b/java/com/android/contacts/common/res/values-es/strings.xml index 39ab71487..3307e6a78 100644 --- a/java/com/android/contacts/common/res/values-es/strings.xml +++ b/java/com/android/contacts/common/res/values-es/strings.xml @@ -261,5 +261,8 @@ "Condiciones de Servicio" "Licencias de código abierto" "No se ha podido abrir la URL." - "Hacer videollamada" + + + + diff --git a/java/com/android/contacts/common/res/values-et/strings.xml b/java/com/android/contacts/common/res/values-et/strings.xml index 5e9d5c729..82d44b254 100644 --- a/java/com/android/contacts/common/res/values-et/strings.xml +++ b/java/com/android/contacts/common/res/values-et/strings.xml @@ -261,5 +261,8 @@ "Teenusetingimused" "Avatud lähtekoodi litsentsid" "URL-i avamine ebaõnnestus." - "Videokõne tegemine" + + + + diff --git a/java/com/android/contacts/common/res/values-eu/strings.xml b/java/com/android/contacts/common/res/values-eu/strings.xml index 84c933094..1a101c92e 100644 --- a/java/com/android/contacts/common/res/values-eu/strings.xml +++ b/java/com/android/contacts/common/res/values-eu/strings.xml @@ -261,5 +261,8 @@ "Zerbitzu-baldintzak" "Kode irekiko lizentziak" "Ezin izan da ireki URLa." - "Egin bideo-deia" + + + + diff --git a/java/com/android/contacts/common/res/values-fa/strings.xml b/java/com/android/contacts/common/res/values-fa/strings.xml index e583a765d..dde50c136 100644 --- a/java/com/android/contacts/common/res/values-fa/strings.xml +++ b/java/com/android/contacts/common/res/values-fa/strings.xml @@ -261,5 +261,8 @@ "شرایط خدمات" "مجوزهای منبع آزاد" "نشانی وب باز نشد." - "برقراری تماس ویدئویی" + + + + diff --git a/java/com/android/contacts/common/res/values-fi/strings.xml b/java/com/android/contacts/common/res/values-fi/strings.xml index 01468c354..370827a15 100644 --- a/java/com/android/contacts/common/res/values-fi/strings.xml +++ b/java/com/android/contacts/common/res/values-fi/strings.xml @@ -261,5 +261,8 @@ "Käyttöehdot" "Avoimen lähdekoodin käyttöluvat" "URL-osoitteen avaus epäonnistui." - "Soita videopuhelu" + + + + diff --git a/java/com/android/contacts/common/res/values-fr-rCA/strings.xml b/java/com/android/contacts/common/res/values-fr-rCA/strings.xml index cdeb4f097..d392e0c9b 100644 --- a/java/com/android/contacts/common/res/values-fr-rCA/strings.xml +++ b/java/com/android/contacts/common/res/values-fr-rCA/strings.xml @@ -261,5 +261,8 @@ "Modalités" "Licences de logiciels libres" "Échec de l\'ouverture de l\'URL." - "Faire un appel vidéo" + + + + diff --git a/java/com/android/contacts/common/res/values-fr/strings.xml b/java/com/android/contacts/common/res/values-fr/strings.xml index c0b20db1f..504f40b8a 100644 --- a/java/com/android/contacts/common/res/values-fr/strings.xml +++ b/java/com/android/contacts/common/res/values-fr/strings.xml @@ -261,5 +261,8 @@ "Conditions d\'utilisation" "Licences Open Source" "Impossible d\'ouvrir l\'URL." - "Passer un appel vidéo" + + + + diff --git a/java/com/android/contacts/common/res/values-gl/strings.xml b/java/com/android/contacts/common/res/values-gl/strings.xml index 672f82baf..e1e2c11d6 100644 --- a/java/com/android/contacts/common/res/values-gl/strings.xml +++ b/java/com/android/contacts/common/res/values-gl/strings.xml @@ -261,5 +261,8 @@ "Condicións de servizo" "Licenzas de código aberto" "Produciuse un erro ao abrir o URL." - "Facer videochamada" + + + + diff --git a/java/com/android/contacts/common/res/values-gu/strings.xml b/java/com/android/contacts/common/res/values-gu/strings.xml index 787e1d93a..19dbb8caf 100644 --- a/java/com/android/contacts/common/res/values-gu/strings.xml +++ b/java/com/android/contacts/common/res/values-gu/strings.xml @@ -261,5 +261,8 @@ "સેવાની શરતો" "ખુલ્લા સ્રોત લાઇસન્સીસ" "url ખોલવામાં નિષ્ફળ થયાં." - "વિડિઓ કૉલ કરો" + + + + diff --git a/java/com/android/contacts/common/res/values-hi/strings.xml b/java/com/android/contacts/common/res/values-hi/strings.xml index 736ce97f8..841a69021 100644 --- a/java/com/android/contacts/common/res/values-hi/strings.xml +++ b/java/com/android/contacts/common/res/values-hi/strings.xml @@ -261,5 +261,8 @@ "सेवा की शर्तें" "ओपन सोर्स लाइसेंस" "url खोलने में विफल रहा." - "वीडियो कॉल करें" + + + + diff --git a/java/com/android/contacts/common/res/values-hr/strings.xml b/java/com/android/contacts/common/res/values-hr/strings.xml index a65b73c5b..ece6fe789 100644 --- a/java/com/android/contacts/common/res/values-hr/strings.xml +++ b/java/com/android/contacts/common/res/values-hr/strings.xml @@ -263,5 +263,8 @@ "Uvjeti pružanja usluge" "Licence otvorenog izvornog koda" "Otvaranje URL-a nije uspjelo." - "Upućivanje videopoziva" + + + + diff --git a/java/com/android/contacts/common/res/values-hu/strings.xml b/java/com/android/contacts/common/res/values-hu/strings.xml index 82c983b94..696ed1d1e 100644 --- a/java/com/android/contacts/common/res/values-hu/strings.xml +++ b/java/com/android/contacts/common/res/values-hu/strings.xml @@ -261,5 +261,8 @@ "Általános Szerződési Feltételek" "Nyílt forráskódú licencek" "Nem sikerült megnyitni az URL-címet." - "Videohívás indítása" + + + + diff --git a/java/com/android/contacts/common/res/values-hy/strings.xml b/java/com/android/contacts/common/res/values-hy/strings.xml index 384156e86..1340a0efa 100644 --- a/java/com/android/contacts/common/res/values-hy/strings.xml +++ b/java/com/android/contacts/common/res/values-hy/strings.xml @@ -261,5 +261,8 @@ "Օգտագործման պայմաններ" "Բաց կոդով ծրագրակազմի արտոնագրեր" "Չհաջողվեց բացել url-ը:" - "Կատարել տեսազանգ" + + + + diff --git a/java/com/android/contacts/common/res/values-in/strings.xml b/java/com/android/contacts/common/res/values-in/strings.xml index d2f596d57..17e54f00d 100644 --- a/java/com/android/contacts/common/res/values-in/strings.xml +++ b/java/com/android/contacts/common/res/values-in/strings.xml @@ -261,5 +261,8 @@ "Persyaratan layanan" "Lisensi sumber terbuka" "Gagal membuka url." - "Lakukan video call" + + + + diff --git a/java/com/android/contacts/common/res/values-is/strings.xml b/java/com/android/contacts/common/res/values-is/strings.xml index 054dedf1d..7fa50d674 100644 --- a/java/com/android/contacts/common/res/values-is/strings.xml +++ b/java/com/android/contacts/common/res/values-is/strings.xml @@ -261,5 +261,8 @@ "Þjónustuskilmálar" "Leyfi opins kóða" "Ekki tókst að opna slóðina." - "Hringja myndsímtal" + + + + diff --git a/java/com/android/contacts/common/res/values-it/strings.xml b/java/com/android/contacts/common/res/values-it/strings.xml index 80ddf2409..591ad851e 100644 --- a/java/com/android/contacts/common/res/values-it/strings.xml +++ b/java/com/android/contacts/common/res/values-it/strings.xml @@ -261,5 +261,8 @@ "Termini di servizio" "Licenze open source" "Impossibile aprire l\'URL." - "Effettua videochiamata" + + + + diff --git a/java/com/android/contacts/common/res/values-iw/strings.xml b/java/com/android/contacts/common/res/values-iw/strings.xml index b95998bae..7ad55d88e 100644 --- a/java/com/android/contacts/common/res/values-iw/strings.xml +++ b/java/com/android/contacts/common/res/values-iw/strings.xml @@ -265,5 +265,8 @@ "תנאים והגבלות" "רישיונות קוד פתוח" "לא ניתן לפתוח את כתובת האתר." - "בצע שיחת וידאו" + + + + diff --git a/java/com/android/contacts/common/res/values-ja/strings.xml b/java/com/android/contacts/common/res/values-ja/strings.xml index 0135da0ce..2e7c5382e 100644 --- a/java/com/android/contacts/common/res/values-ja/strings.xml +++ b/java/com/android/contacts/common/res/values-ja/strings.xml @@ -261,5 +261,8 @@ "利用規約" "オープンソース ライセンス" "この URL を開けませんでした。" - "ビデオハングアウトを発信" + + + + diff --git a/java/com/android/contacts/common/res/values-ka/strings.xml b/java/com/android/contacts/common/res/values-ka/strings.xml index f126d4c81..26585942a 100644 --- a/java/com/android/contacts/common/res/values-ka/strings.xml +++ b/java/com/android/contacts/common/res/values-ka/strings.xml @@ -261,5 +261,8 @@ "მომსახურების პირობები" "ღია კოდის ლიცენზიები" "Url-ის გახსნა ვერ მოხერხდა." - "ვიდეოზარის განხორციელება" + + + + diff --git a/java/com/android/contacts/common/res/values-kk/strings.xml b/java/com/android/contacts/common/res/values-kk/strings.xml index 3d2e9bd69..47acf5e83 100644 --- a/java/com/android/contacts/common/res/values-kk/strings.xml +++ b/java/com/android/contacts/common/res/values-kk/strings.xml @@ -261,5 +261,8 @@ "Қызмет көрсету шарттары" "Бастапқы коды ашық бағдарлама лицензиялары" "Url ашылған жоқ." - "Бейне қоңырау соғу" + + + + diff --git a/java/com/android/contacts/common/res/values-km/strings.xml b/java/com/android/contacts/common/res/values-km/strings.xml index 7715f401c..98abe6882 100644 --- a/java/com/android/contacts/common/res/values-km/strings.xml +++ b/java/com/android/contacts/common/res/values-km/strings.xml @@ -261,5 +261,8 @@ "លក្ខខណ្ឌប្រើប្រាស់" "អាជ្ញាប័ណ្ណប្រភពកូដចំហ" "បាន​បរាជ័យ​ក្នុង​ការ​បើក URL។" - "ធ្វើការហៅជាវីដេអូ" + + + + diff --git a/java/com/android/contacts/common/res/values-kn/strings.xml b/java/com/android/contacts/common/res/values-kn/strings.xml index 8b8b3f293..3dd4f5ada 100644 --- a/java/com/android/contacts/common/res/values-kn/strings.xml +++ b/java/com/android/contacts/common/res/values-kn/strings.xml @@ -261,5 +261,8 @@ "ಸೇವಾ ನಿಯಮಗಳು" "ಮುಕ್ತ ಮೂಲ ಪರವಾನಗಿಗಳು" "url ತೆರೆಯಲು ವಿಫಲವಾಗಿದೆ." - "ವೀಡಿಯೊ ಕರೆ ಮಾಡಿ" + + + + diff --git a/java/com/android/contacts/common/res/values-ko/strings.xml b/java/com/android/contacts/common/res/values-ko/strings.xml index a0eb767e5..ccf1845bd 100644 --- a/java/com/android/contacts/common/res/values-ko/strings.xml +++ b/java/com/android/contacts/common/res/values-ko/strings.xml @@ -261,5 +261,8 @@ "서비스 약관" "오픈소스 라이선스" "URL을 열지 못했습니다." - "화상 통화 걸기" + + + + diff --git a/java/com/android/contacts/common/res/values-ky/strings.xml b/java/com/android/contacts/common/res/values-ky/strings.xml index 116da198d..c3309b7ee 100644 --- a/java/com/android/contacts/common/res/values-ky/strings.xml +++ b/java/com/android/contacts/common/res/values-ky/strings.xml @@ -261,5 +261,8 @@ "Тейлөө шарттары" "Ачык программа уруксаттамалары" "url ачылбай калды." - "Видео чалуу" + + + + diff --git a/java/com/android/contacts/common/res/values-lo/strings.xml b/java/com/android/contacts/common/res/values-lo/strings.xml index 68d485c95..ec684beec 100644 --- a/java/com/android/contacts/common/res/values-lo/strings.xml +++ b/java/com/android/contacts/common/res/values-lo/strings.xml @@ -261,5 +261,8 @@ "​ເງື່ອນ​ໄຂ​ການ​ໃຫ້​ບໍ​ລິ​ການ" "ລິຂະສິດໂອເພນຊອດ" "ເປີດ URL ລົ້ມເຫລວ." - "ເຮັດການໂທວິດີໂອ" + + + + diff --git a/java/com/android/contacts/common/res/values-lt/strings.xml b/java/com/android/contacts/common/res/values-lt/strings.xml index 15095f8ea..082950a08 100644 --- a/java/com/android/contacts/common/res/values-lt/strings.xml +++ b/java/com/android/contacts/common/res/values-lt/strings.xml @@ -265,5 +265,8 @@ "Paslaugų teikimo sąlygos" "Atvirojo šaltinio licencijos" "Nepavyko atidaryti URL." - "Atlikti vaizdo skambutį" + + + + diff --git a/java/com/android/contacts/common/res/values-lv/strings.xml b/java/com/android/contacts/common/res/values-lv/strings.xml index feb575dd8..54a2481ea 100644 --- a/java/com/android/contacts/common/res/values-lv/strings.xml +++ b/java/com/android/contacts/common/res/values-lv/strings.xml @@ -263,5 +263,8 @@ "Pakalpojumu sniegšanas noteikumi" "Atklātā pirmkoda licences" "Neizdevās atvērt URL." - "Sākt videozvanu" + + + + diff --git a/java/com/android/contacts/common/res/values-mk/strings.xml b/java/com/android/contacts/common/res/values-mk/strings.xml index b49f2a9e9..060519fd8 100644 --- a/java/com/android/contacts/common/res/values-mk/strings.xml +++ b/java/com/android/contacts/common/res/values-mk/strings.xml @@ -261,5 +261,8 @@ "Услови на користење" "Лиценци за софтвер со отворен код" "Врската не успеа да се отвори." - "Воспостави видеоповик" + + + + diff --git a/java/com/android/contacts/common/res/values-ml/strings.xml b/java/com/android/contacts/common/res/values-ml/strings.xml index 5645d8667..bd77e7ea2 100644 --- a/java/com/android/contacts/common/res/values-ml/strings.xml +++ b/java/com/android/contacts/common/res/values-ml/strings.xml @@ -261,5 +261,8 @@ "സേവന നിബന്ധനകൾ" "ഓപ്പൺ സോഴ്‌സ് ലൈസൻസ്" "url തുറക്കാനായില്ല." - "വീഡിയോ കോൾ ചെയ്യുക" + + + + diff --git a/java/com/android/contacts/common/res/values-mn/strings.xml b/java/com/android/contacts/common/res/values-mn/strings.xml index b8c5dbbc3..e6e1ab12a 100644 --- a/java/com/android/contacts/common/res/values-mn/strings.xml +++ b/java/com/android/contacts/common/res/values-mn/strings.xml @@ -261,5 +261,8 @@ "Үйлчилгээний нөхцөл" "Нээлттэй эхийн лиценз" "URL-г нээж чадсангүй." - "Видео дуудлага хийх" + + + + diff --git a/java/com/android/contacts/common/res/values-mr/strings.xml b/java/com/android/contacts/common/res/values-mr/strings.xml index 72e52823b..52b989fe9 100644 --- a/java/com/android/contacts/common/res/values-mr/strings.xml +++ b/java/com/android/contacts/common/res/values-mr/strings.xml @@ -261,5 +261,8 @@ "सेवा अटी" "मुक्त स्त्रोत परवाने" "url उघडण्यात अयशस्वी झाले." - "व्हिडिओ कॉल करा" + + + + diff --git a/java/com/android/contacts/common/res/values-ms/strings.xml b/java/com/android/contacts/common/res/values-ms/strings.xml index 91cf2de87..c3ae12a92 100644 --- a/java/com/android/contacts/common/res/values-ms/strings.xml +++ b/java/com/android/contacts/common/res/values-ms/strings.xml @@ -261,5 +261,8 @@ "Syarat perkhidmatan" "Lesen sumber terbuka" "Gagal membuka url." - "Buat panggilan video" + + + + diff --git a/java/com/android/contacts/common/res/values-my/strings.xml b/java/com/android/contacts/common/res/values-my/strings.xml index e162b0cf7..3a90758d5 100644 --- a/java/com/android/contacts/common/res/values-my/strings.xml +++ b/java/com/android/contacts/common/res/values-my/strings.xml @@ -261,5 +261,8 @@ "ဝန်ဆောင်မှုဆိုင်ရာ စည်းမျဉ်းများ" "အခမဲ့ရင်းမြစ်လိုင်စင်များ" "url ကို ဖွင့်၍မရပါ။" - "ဗီဒီယို ခေါ်ဆိုမှုကို ပြုလုပ်ပါ" + + + + diff --git a/java/com/android/contacts/common/res/values-nb/strings.xml b/java/com/android/contacts/common/res/values-nb/strings.xml index 930e949fd..ab1fd57d4 100644 --- a/java/com/android/contacts/common/res/values-nb/strings.xml +++ b/java/com/android/contacts/common/res/values-nb/strings.xml @@ -261,5 +261,8 @@ "Vilkår for bruk" "Lisenser for åpen kildekode" "Kunne ikke åpne nettadressen." - "Start et videoanrop" + + + + diff --git a/java/com/android/contacts/common/res/values-ne/strings.xml b/java/com/android/contacts/common/res/values-ne/strings.xml index 50b44fdb7..1d3e5a2b3 100644 --- a/java/com/android/contacts/common/res/values-ne/strings.xml +++ b/java/com/android/contacts/common/res/values-ne/strings.xml @@ -261,5 +261,8 @@ "सेवा सर्तहरू" "खुला स्रोत सम्बन्धी इजाजतपत्रहरू" "url खोल्न सकिएन।" - "भिडियो कल गर्नुहोस्" + + + + diff --git a/java/com/android/contacts/common/res/values-nl/strings.xml b/java/com/android/contacts/common/res/values-nl/strings.xml index cfeb7dfa4..fb7d571dc 100644 --- a/java/com/android/contacts/common/res/values-nl/strings.xml +++ b/java/com/android/contacts/common/res/values-nl/strings.xml @@ -261,5 +261,8 @@ "Servicevoorwaarden" "Open-sourcelicenties" "Kan de URL niet openen." - "Videogesprek starten" + + + + diff --git a/java/com/android/contacts/common/res/values-no/strings.xml b/java/com/android/contacts/common/res/values-no/strings.xml index 930e949fd..ab1fd57d4 100644 --- a/java/com/android/contacts/common/res/values-no/strings.xml +++ b/java/com/android/contacts/common/res/values-no/strings.xml @@ -261,5 +261,8 @@ "Vilkår for bruk" "Lisenser for åpen kildekode" "Kunne ikke åpne nettadressen." - "Start et videoanrop" + + + + diff --git a/java/com/android/contacts/common/res/values-pa/strings.xml b/java/com/android/contacts/common/res/values-pa/strings.xml index c043ab7d0..fef6578b0 100644 --- a/java/com/android/contacts/common/res/values-pa/strings.xml +++ b/java/com/android/contacts/common/res/values-pa/strings.xml @@ -261,5 +261,8 @@ "ਸੇਵਾ ਦੀਆਂ ਮਦਾਂ" "ਖੁੱਲ੍ਹਾ ਸਰੋਤ ਲਾਇਸੰਸ" "url ਖੋਲ੍ਹਣ ਵਿੱਚ ਅਸਫਲ।" - "ਵੀਡੀਓ ਕਾਲ ਕਰੋ" + + + + diff --git a/java/com/android/contacts/common/res/values-pl/strings.xml b/java/com/android/contacts/common/res/values-pl/strings.xml index f48e2ce38..c2268d492 100644 --- a/java/com/android/contacts/common/res/values-pl/strings.xml +++ b/java/com/android/contacts/common/res/values-pl/strings.xml @@ -265,5 +265,8 @@ "Warunki usługi" "Licencje open source" "Nie udało się otworzyć URL-a." - "Rozpocznij rozmowę wideo" + + + + diff --git a/java/com/android/contacts/common/res/values-pt-rBR/strings.xml b/java/com/android/contacts/common/res/values-pt-rBR/strings.xml index 1dbdce966..4ab169e91 100644 --- a/java/com/android/contacts/common/res/values-pt-rBR/strings.xml +++ b/java/com/android/contacts/common/res/values-pt-rBR/strings.xml @@ -261,5 +261,8 @@ "Termos de Serviço" "Licenças de código aberto" "Falha ao abrir o URL." - "Realizar videochamada" + + + + diff --git a/java/com/android/contacts/common/res/values-pt-rPT/strings.xml b/java/com/android/contacts/common/res/values-pt-rPT/strings.xml index 08fe820d7..f979fdc3e 100644 --- a/java/com/android/contacts/common/res/values-pt-rPT/strings.xml +++ b/java/com/android/contacts/common/res/values-pt-rPT/strings.xml @@ -261,5 +261,8 @@ "Termos de Utilização" "Licenças de código aberto" "Falha ao abrir o URL." - "Efetuar videochamada" + + + + diff --git a/java/com/android/contacts/common/res/values-pt/strings.xml b/java/com/android/contacts/common/res/values-pt/strings.xml index 1dbdce966..4ab169e91 100644 --- a/java/com/android/contacts/common/res/values-pt/strings.xml +++ b/java/com/android/contacts/common/res/values-pt/strings.xml @@ -261,5 +261,8 @@ "Termos de Serviço" "Licenças de código aberto" "Falha ao abrir o URL." - "Realizar videochamada" + + + + diff --git a/java/com/android/contacts/common/res/values-ro/strings.xml b/java/com/android/contacts/common/res/values-ro/strings.xml index 0f1b98d81..ae2ea6599 100644 --- a/java/com/android/contacts/common/res/values-ro/strings.xml +++ b/java/com/android/contacts/common/res/values-ro/strings.xml @@ -263,5 +263,8 @@ "Termeni și condiții" "Licențe open source" "Adresa URL nu a putut fi deschisă." - "Efectuați un apel video" + + + + diff --git a/java/com/android/contacts/common/res/values-ru/strings.xml b/java/com/android/contacts/common/res/values-ru/strings.xml index a75cc6400..eaa998335 100644 --- a/java/com/android/contacts/common/res/values-ru/strings.xml +++ b/java/com/android/contacts/common/res/values-ru/strings.xml @@ -265,5 +265,8 @@ "Условия использования" "Лицензии открытого ПО" "Не удалось открыть URL." - "Видеовызов" + + + + diff --git a/java/com/android/contacts/common/res/values-si/strings.xml b/java/com/android/contacts/common/res/values-si/strings.xml index 42a851723..238bcfee1 100644 --- a/java/com/android/contacts/common/res/values-si/strings.xml +++ b/java/com/android/contacts/common/res/values-si/strings.xml @@ -261,5 +261,8 @@ "සේවා නියම" "විවෘත මූලාශ්‍ර බලපත්‍ර" "url විවෘත කිරීමට අසමත් විය." - "වීඩියෝ ඇමතුම සිදු කිරීම" + + + + diff --git a/java/com/android/contacts/common/res/values-sk/strings.xml b/java/com/android/contacts/common/res/values-sk/strings.xml index 22e47bfac..6daafb7b0 100644 --- a/java/com/android/contacts/common/res/values-sk/strings.xml +++ b/java/com/android/contacts/common/res/values-sk/strings.xml @@ -265,5 +265,8 @@ "Zmluvné podmienky" "Licencie open source" "Webovú adresu nebolo možné otvoriť" - "Uskutočniť videohovor" + + + + diff --git a/java/com/android/contacts/common/res/values-sl/strings.xml b/java/com/android/contacts/common/res/values-sl/strings.xml index f2826c6d1..964bac24c 100644 --- a/java/com/android/contacts/common/res/values-sl/strings.xml +++ b/java/com/android/contacts/common/res/values-sl/strings.xml @@ -265,5 +265,8 @@ "Pogoji storitve" "Odprtokodne licence" "Naslova URL ni bilo mogoče odpreti." - "Začetek videoklica" + + + + diff --git a/java/com/android/contacts/common/res/values-sq/strings.xml b/java/com/android/contacts/common/res/values-sq/strings.xml index 83920fa12..d46841b4b 100644 --- a/java/com/android/contacts/common/res/values-sq/strings.xml +++ b/java/com/android/contacts/common/res/values-sq/strings.xml @@ -261,5 +261,8 @@ "Kushtet e shërbimit" "Licencat me burim të hapur" "Dështoi në hapjen e url-së." - "Kryej një telefonatë me video" + + + + diff --git a/java/com/android/contacts/common/res/values-sr/strings.xml b/java/com/android/contacts/common/res/values-sr/strings.xml index 9801a29a3..6151ef960 100644 --- a/java/com/android/contacts/common/res/values-sr/strings.xml +++ b/java/com/android/contacts/common/res/values-sr/strings.xml @@ -263,5 +263,8 @@ "Услови коришћења услуге" "Лиценце отвореног кода" "Отварање URL-а није успело." - "Упути видео позив" + + + + diff --git a/java/com/android/contacts/common/res/values-sv/strings.xml b/java/com/android/contacts/common/res/values-sv/strings.xml index 9fa33bee8..94f7abd35 100644 --- a/java/com/android/contacts/common/res/values-sv/strings.xml +++ b/java/com/android/contacts/common/res/values-sv/strings.xml @@ -261,5 +261,8 @@ "Användarvillkor" "Licenser för öppen källkod" "Det gick inte att öppna webbadressen." - "Ring ett videosamtal" + + + + diff --git a/java/com/android/contacts/common/res/values-sw/strings.xml b/java/com/android/contacts/common/res/values-sw/strings.xml index 43e81e500..717f1b87e 100644 --- a/java/com/android/contacts/common/res/values-sw/strings.xml +++ b/java/com/android/contacts/common/res/values-sw/strings.xml @@ -261,5 +261,8 @@ "Sheria na masharti" "Leseni za programu huria" "Imeshindwa kufungua url." - "Anzisha Hangout ya Video" + + + + diff --git a/java/com/android/contacts/common/res/values-ta/strings.xml b/java/com/android/contacts/common/res/values-ta/strings.xml index 6a66f60cd..0bbee79f7 100644 --- a/java/com/android/contacts/common/res/values-ta/strings.xml +++ b/java/com/android/contacts/common/res/values-ta/strings.xml @@ -261,5 +261,8 @@ "சேவை விதிமுறைகள்" "ஓப்பன் சோர்ஸ் உரிமங்கள்" "urlஐத் திறக்க முடியவில்லை." - "வீடியோ அழைப்பைச் செய்" + + + + diff --git a/java/com/android/contacts/common/res/values-te/strings.xml b/java/com/android/contacts/common/res/values-te/strings.xml index 59acd5b17..474bb9359 100644 --- a/java/com/android/contacts/common/res/values-te/strings.xml +++ b/java/com/android/contacts/common/res/values-te/strings.xml @@ -261,5 +261,8 @@ "సేవా నిబంధనలు" "ఓపెన్ సోర్స్ లైసెన్స్‌లు" "urlని తెరవడంలో విఫలమైంది." - "వీడియో కాల్ చేస్తుంది" + + + + diff --git a/java/com/android/contacts/common/res/values-th/strings.xml b/java/com/android/contacts/common/res/values-th/strings.xml index 0585fba9f..598b810b4 100644 --- a/java/com/android/contacts/common/res/values-th/strings.xml +++ b/java/com/android/contacts/common/res/values-th/strings.xml @@ -261,5 +261,8 @@ "ข้อกำหนดในการให้บริการ" "ใบอนุญาตโอเพนซอร์ส" "เปิด URL ไม่สำเร็จ" - "เริ่มแฮงเอาท์วิดีโอ" + + + + diff --git a/java/com/android/contacts/common/res/values-tl/strings.xml b/java/com/android/contacts/common/res/values-tl/strings.xml index 49a2830a8..fd51f1f2a 100644 --- a/java/com/android/contacts/common/res/values-tl/strings.xml +++ b/java/com/android/contacts/common/res/values-tl/strings.xml @@ -261,5 +261,8 @@ "Tuntunin ng serbisyo" "Mga open source na lisensya" "Nabigong buksan ang url." - "Magsimula ng video call" + + + + diff --git a/java/com/android/contacts/common/res/values-tr/strings.xml b/java/com/android/contacts/common/res/values-tr/strings.xml index b0d4a91aa..20b076e2e 100644 --- a/java/com/android/contacts/common/res/values-tr/strings.xml +++ b/java/com/android/contacts/common/res/values-tr/strings.xml @@ -261,5 +261,8 @@ "Hizmet şartları" "Açık kaynak lisansları" "URL açılamadı." - "Video görüşmesi yap" + + + + diff --git a/java/com/android/contacts/common/res/values-uk/strings.xml b/java/com/android/contacts/common/res/values-uk/strings.xml index fe936d5cf..2e9c3cb84 100644 --- a/java/com/android/contacts/common/res/values-uk/strings.xml +++ b/java/com/android/contacts/common/res/values-uk/strings.xml @@ -265,5 +265,8 @@ "Умови використання" "Ліцензії на ПЗ з відкритим кодом" "Не вдалося відкрити посилання." - "Почати відеодзвінок" + + + + diff --git a/java/com/android/contacts/common/res/values-ur/strings.xml b/java/com/android/contacts/common/res/values-ur/strings.xml index 3273fb2ef..8db576e08 100644 --- a/java/com/android/contacts/common/res/values-ur/strings.xml +++ b/java/com/android/contacts/common/res/values-ur/strings.xml @@ -261,5 +261,8 @@ "سروس کی شرائط" "اوپن سورس لائسنسز" "‏URL کھولنے میں ناکامی۔" - "ویڈیو کال کریں" + + + + diff --git a/java/com/android/contacts/common/res/values-uz/strings.xml b/java/com/android/contacts/common/res/values-uz/strings.xml index 93fc0841d..9fe0e5086 100644 --- a/java/com/android/contacts/common/res/values-uz/strings.xml +++ b/java/com/android/contacts/common/res/values-uz/strings.xml @@ -261,5 +261,8 @@ "Foydalanish shartlari" "Ochiq kodli dasturiy ta’minot litsenziyalari" "URLni ochishda xatolik yuz berdi." - "Video qo‘ng‘iroq qilish" + + + + diff --git a/java/com/android/contacts/common/res/values-vi/strings.xml b/java/com/android/contacts/common/res/values-vi/strings.xml index c444245b1..3a6f59473 100644 --- a/java/com/android/contacts/common/res/values-vi/strings.xml +++ b/java/com/android/contacts/common/res/values-vi/strings.xml @@ -261,5 +261,8 @@ "Điều khoản dịch vụ" "Giấy phép nguồn mở" "Không mở được url." - "Gọi điện video" + + + + diff --git a/java/com/android/contacts/common/res/values-zh-rCN/strings.xml b/java/com/android/contacts/common/res/values-zh-rCN/strings.xml index 764664bb0..89c8e8d0d 100644 --- a/java/com/android/contacts/common/res/values-zh-rCN/strings.xml +++ b/java/com/android/contacts/common/res/values-zh-rCN/strings.xml @@ -261,5 +261,8 @@ "服务条款" "开放源代码许可" "无法打开网址。" - "发起视频通话" + + + + diff --git a/java/com/android/contacts/common/res/values-zh-rHK/strings.xml b/java/com/android/contacts/common/res/values-zh-rHK/strings.xml index 8c37a02b9..bd912b6ff 100644 --- a/java/com/android/contacts/common/res/values-zh-rHK/strings.xml +++ b/java/com/android/contacts/common/res/values-zh-rHK/strings.xml @@ -261,5 +261,8 @@ "服務條款" "開放原始碼授權" "無法開啟網址。" - "開始視像通話" + + + + diff --git a/java/com/android/contacts/common/res/values-zh-rTW/strings.xml b/java/com/android/contacts/common/res/values-zh-rTW/strings.xml index 015683eb0..14e1e901f 100644 --- a/java/com/android/contacts/common/res/values-zh-rTW/strings.xml +++ b/java/com/android/contacts/common/res/values-zh-rTW/strings.xml @@ -261,5 +261,8 @@ "服務條款" "開放原始碼授權" "無法開啟網址。" - "撥打視訊通話" + + + + diff --git a/java/com/android/contacts/common/res/values-zu/strings.xml b/java/com/android/contacts/common/res/values-zu/strings.xml index f128b2a2a..1c93e4c11 100644 --- a/java/com/android/contacts/common/res/values-zu/strings.xml +++ b/java/com/android/contacts/common/res/values-zu/strings.xml @@ -261,5 +261,8 @@ "Imigomo yesevisi" "Amalayisense womthombo ovulekile" "Yehlulekile ukuvula i-url." - "Yenza ikholi yevidiyo" + + + + diff --git a/java/com/android/contacts/common/res/values/strings.xml b/java/com/android/contacts/common/res/values/strings.xml index d58787087..9ac9fef28 100644 --- a/java/com/android/contacts/common/res/values/strings.xml +++ b/java/com/android/contacts/common/res/values/strings.xml @@ -791,5 +791,12 @@ This is especially valuable for views without textual representation like ImageView. [CHAR LIMIT=NONE]--> - Place video call + Video call + + + Share and call diff --git a/java/com/android/contacts/common/widget/FloatingActionButtonController.java b/java/com/android/contacts/common/widget/FloatingActionButtonController.java index 368d09207..d924681ea 100644 --- a/java/com/android/contacts/common/widget/FloatingActionButtonController.java +++ b/java/com/android/contacts/common/widget/FloatingActionButtonController.java @@ -72,12 +72,16 @@ public class FloatingActionButtonController { } /** - * Sets FAB as View.VISIBLE or View.GONE. + * Sets FAB as shown or hidden. * * @param visible Whether or not to make the container visible. */ public void setVisible(boolean visible) { - mFab.setVisibility(visible ? View.VISIBLE : View.GONE); + if (visible) { + mFab.show(); + } else { + mFab.hide(); + } } public void changeIcon(Drawable icon, String description) { -- cgit v1.2.3