am c62cc793: Display phone numbers as LTR
* commit 'c62cc7931593b4137f8a507689b653e1e15e1260':
Display phone numbers as LTR
diff --git a/res/layout/expanding_entry_card_item.xml b/res/layout/expanding_entry_card_item.xml
index 567c02c..20e90eb 100644
--- a/res/layout/expanding_entry_card_item.xml
+++ b/res/layout/expanding_entry_card_item.xml
@@ -44,6 +44,7 @@
android:layout_toEndOf="@+id/icon"
android:layout_toStartOf="@+id/icon_alternate"
android:textColor="@color/quickcontact_entry_header_text_color"
+ android:textAlignment="viewStart"
android:layout_marginBottom="@dimen/expanding_entry_card_header_margin_bottom" />
<TextView
@@ -53,6 +54,7 @@
android:layout_below="@+id/header"
android:layout_toEndOf="@+id/icon_sub_header"
android:layout_toStartOf="@+id/icon_alternate"
+ android:textAlignment="viewStart"
android:textColor="@color/quickcontact_entry_sub_header_text_color" />
<ImageView
@@ -71,6 +73,7 @@
android:layout_below="@+id/sub_header"
android:layout_toEndOf="@+id/icon_text"
android:layout_toStartOf="@+id/icon_alternate"
+ android:textAlignment="viewStart"
android:textColor="@color/quickcontact_entry_sub_header_text_color" />
<ImageView
diff --git a/res/layout/quickcontact_title.xml b/res/layout/quickcontact_title.xml
index 8bf48e3..3f4886d 100644
--- a/res/layout/quickcontact_title.xml
+++ b/res/layout/quickcontact_title.xml
@@ -28,6 +28,7 @@
android:textColor="@color/actionbar_text_color"
android:maxLines="@integer/quickcontact_title_lines"
android:textSize="@dimen/quickcontact_maximum_title_size"
+ android:textAlignment="viewStart"
android:ellipsize="end"
android:importantForAccessibility="no"
android:id="@+id/large_title"/>
\ No newline at end of file
diff --git a/src/com/android/contacts/detail/ContactDisplayUtils.java b/src/com/android/contacts/detail/ContactDisplayUtils.java
index 1180219..85e6026 100644
--- a/src/com/android/contacts/detail/ContactDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDisplayUtils.java
@@ -34,7 +34,9 @@
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.ContactsContract.DisplayNameSources;
+import android.text.BidiFormatter;
import android.text.Html;
+import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.util.Log;
import android.view.MenuItem;
@@ -52,6 +54,7 @@
*/
public class ContactDisplayUtils {
private static final String TAG = "ContactDisplayUtils";
+ private static BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
/**
* Returns the display name of the contact, using the current display order setting.
@@ -62,6 +65,10 @@
final CharSequence displayName = contactData.getDisplayName();
if (prefs.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
if (!TextUtils.isEmpty(displayName)) {
+ if (contactData.getDisplayNameSource() == DisplayNameSources.PHONE) {
+ return sBidiFormatter.unicodeWrap(
+ displayName.toString(), TextDirectionHeuristics.LTR);
+ }
return displayName;
}
} else {
diff --git a/src/com/android/contacts/interactions/CallLogInteraction.java b/src/com/android/contacts/interactions/CallLogInteraction.java
index 702c23b..f751ae7 100644
--- a/src/com/android/contacts/interactions/CallLogInteraction.java
+++ b/src/com/android/contacts/interactions/CallLogInteraction.java
@@ -27,7 +27,8 @@
import android.net.Uri;
import android.provider.CallLog.Calls;
import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.util.Log;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
/**
* Represents a call log event interaction, wrapping the columns in
@@ -46,6 +47,7 @@
private static final String URI_TARGET_PREFIX = "tel:";
private static final int CALL_LOG_ICON_RES = R.drawable.ic_phone_24dp;
private static final int CALL_ARROW_ICON_RES = R.drawable.ic_call_arrow;
+ private static BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
private ContentValues mValues;
@@ -159,7 +161,8 @@
}
public String getNumber() {
- return mValues.getAsString(Calls.NUMBER);
+ return sBidiFormatter.unicodeWrap(
+ mValues.getAsString(Calls.NUMBER), TextDirectionHeuristics.LTR);
}
public Integer getNumberPresentation() {
diff --git a/src/com/android/contacts/interactions/SmsInteraction.java b/src/com/android/contacts/interactions/SmsInteraction.java
index 34adfc1..8b26023 100644
--- a/src/com/android/contacts/interactions/SmsInteraction.java
+++ b/src/com/android/contacts/interactions/SmsInteraction.java
@@ -23,6 +23,8 @@
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.Telephony.Sms;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
/**
* Represents an sms interaction, wrapping the columns in
@@ -32,6 +34,7 @@
private static final String URI_TARGET_PREFIX = "smsto:";
private static final int SMS_ICON_RES = R.drawable.ic_message_24dp;
+ private static BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
private ContentValues mValues;
@@ -89,7 +92,8 @@
}
public String getAddress() {
- return mValues.getAsString(Sms.ADDRESS);
+ return sBidiFormatter.unicodeWrap(
+ mValues.getAsString(Sms.ADDRESS), TextDirectionHeuristics.LTR);
}
public String getBody() {
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index eda9a91..e5574d9 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -72,6 +72,8 @@
import android.support.v7.graphics.Palette;
import android.telecom.PhoneAccount;
import android.telecom.TelecomManager;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.util.Log;
import android.view.ContextMenu;
@@ -268,6 +270,8 @@
Identity.CONTENT_ITEM_TYPE,
Note.CONTENT_ITEM_TYPE);
+ private static final BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
+
/** Id for the background contact loader */
private static final int LOADER_CONTACT_ID = 0;
@@ -1372,7 +1376,8 @@
final PhoneDataItem phone = (PhoneDataItem) dataItem;
if (!TextUtils.isEmpty(phone.getNumber())) {
primaryContentDescription.append(res.getString(R.string.call_other)).append(" ");
- header = phone.buildDataString(context, kind);
+ header = sBidiFormatter.unicodeWrap(phone.buildDataString(context, kind),
+ TextDirectionHeuristics.LTR);
entryContextMenuInfo = new EntryContextMenuInfo(header,
res.getString(R.string.phoneLabelsGroup), dataItem.getMimeType(),
dataItem.getId(), dataItem.isSuperPrimary());