am ec2b8bdd: Merge "Fix RTL issues in Dialer." into lmp-dev

* commit 'ec2b8bdde7bc22217d23165117378049ab41247f':
  Fix RTL issues in Dialer.
diff --git a/res/layout/call_detail_history_header.xml b/res/layout/call_detail_history_header.xml
index 04d406f..def1fd8 100644
--- a/res/layout/call_detail_history_header.xml
+++ b/res/layout/call_detail_history_header.xml
@@ -17,7 +17,7 @@
 <TextView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="wrap_content"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:paddingTop="@dimen/call_detail_header_top_margin"
     android:paddingBottom="@dimen/call_detail_header_bottom_margin"
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 32d61a2..e2ab130 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -32,6 +32,8 @@
 import android.provider.VoicemailContract.Voicemails;
 import android.telecom.PhoneAccount;
 import android.telephony.TelephonyManager;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.KeyEvent;
@@ -134,6 +136,7 @@
     private LinearLayout mVoicemailHeader;
 
     private Uri mVoicemailUri;
+    private BidiFormatter mBidiFormatter = BidiFormatter.getInstance();
 
     /** Whether we should show "edit number before call" in the options menu. */
     private boolean mHasEditNumberBeforeCallOption;
@@ -425,24 +428,25 @@
 
                 final CharSequence callLocationOrType = getNumberTypeOrLocation(firstDetails);
 
-                final CharSequence displayNumber =
-                        mPhoneNumberHelper.getDisplayNumber(
-                                firstDetails.number,
-                                firstDetails.numberPresentation,
-                                firstDetails.formattedNumber);
+                final CharSequence displayNumber = mPhoneNumberHelper.getDisplayNumber(
+                        firstDetails.number,
+                        firstDetails.numberPresentation,
+                        firstDetails.formattedNumber);
+                final String displayNumberStr = mBidiFormatter.unicodeWrap(
+                        displayNumber.toString(), TextDirectionHeuristics.LTR);
+
 
                 if (!TextUtils.isEmpty(firstDetails.name)) {
                     mCallerName.setText(firstDetails.name);
-                    mCallerNumber.setText(callLocationOrType + " " + displayNumber);
+                    mCallerNumber.setText(callLocationOrType + " " + displayNumberStr);
                 } else {
-                    mCallerName.setText(displayNumber);
+                    mCallerName.setText(displayNumberStr);
                     if (!TextUtils.isEmpty(callLocationOrType)) {
                         mCallerNumber.setText(callLocationOrType);
                         mCallerNumber.setVisibility(View.VISIBLE);
                     } else {
                         mCallerNumber.setVisibility(View.GONE);
                     }
-
                 }
 
                 if (!TextUtils.isEmpty(firstDetails.accountLabel)) {