Fix bugs on RTL alignments.
1) when Quickcontact displayname is phonenumber.
2) fix alignment for "saving to" account in editor UI.
3) fix alignment for editor text in editor UI.
BUG 19209562
BUG 25513982
BUG 25514141
Change-Id: I7fba04b8a5e26ed4c3f3ccf3954cbc0639909291
diff --git a/res/layout/compact_account_info.xml b/res/layout/compact_account_info.xml
index f81d963..95fced2 100644
--- a/res/layout/compact_account_info.xml
+++ b/res/layout/compact_account_info.xml
@@ -61,6 +61,7 @@
android:singleLine="true"
android:textColor="@color/secondary_text_color"
android:ellipsize="end"
+ android:textAlignment="viewStart"
/>
</LinearLayout>
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index cdb4485..8a6141d 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -234,6 +234,7 @@
PhoneNumberFormatter.setPhoneNumberFormattingTextWatcher(getContext(), fieldView);
fieldView.setTextDirection(View.TEXT_DIRECTION_LTR);
}
+ fieldView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
// Set either a minimum line requirement or a minimum height (because {@link TextView}
// only takes one or the other at a single time).
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 5d5edd9..e2ffc2f 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -1204,15 +1204,16 @@
/** Assign this string to the view if it is not empty. */
private void setHeaderNameText(int resId) {
if (mScroller != null) {
- mScroller.setTitle(getText(resId) == null ? null : getText(resId).toString());
+ mScroller.setTitle(getText(resId) == null ? null : getText(resId).toString(),
+ /* isPhoneNumber= */ false);
}
}
/** Assign this string to the view if it is not empty. */
- private void setHeaderNameText(String value) {
+ private void setHeaderNameText(String value, boolean isPhoneNumber) {
if (!TextUtils.isEmpty(value)) {
if (mScroller != null) {
- mScroller.setTitle(value);
+ mScroller.setTitle(value, isPhoneNumber);
}
}
}
@@ -1246,7 +1247,8 @@
mPhotoSetter.setupContactPhoto(data, mPhotoView);
extractAndApplyTintFromPhotoViewAsynchronously();
final String displayName = ContactDisplayUtils.getDisplayName(this, data).toString();
- setHeaderNameText(displayName);
+ setHeaderNameText(
+ displayName, mContactData.getDisplayNameSource() == DisplayNameSources.PHONE);
final String phoneticName = ContactDisplayUtils.getPhoneticName(this, data);
if (mScroller != null) {
if (mContactData.getDisplayNameSource() != DisplayNameSources.STRUCTURED_PHONETIC_NAME
diff --git a/src/com/android/contacts/widget/MultiShrinkScroller.java b/src/com/android/contacts/widget/MultiShrinkScroller.java
index 95f277c..d1cb9f8 100644
--- a/src/com/android/contacts/widget/MultiShrinkScroller.java
+++ b/src/com/android/contacts/widget/MultiShrinkScroller.java
@@ -395,8 +395,12 @@
mTitleGradientView.setLayoutParams(titleGradientLayoutParams);
}
- public void setTitle(String title) {
+ public void setTitle(String title, boolean isPhoneNumber) {
mLargeTextView.setText(title);
+ // We have a phone number as "mLargeTextView" so make it always LTR.
+ if (isPhoneNumber) {
+ mLargeTextView.setTextDirection(View.TEXT_DIRECTION_LTR);
+ }
mPhotoTouchInterceptOverlay.setContentDescription(title);
}