From 99e8adb92ce3dce67a6e3456de37dded27873c5e Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Thu, 2 Oct 2014 12:27:37 -0700 Subject: Fix RTL issues in Dialer. + Force LTR if textviews show numbers. + Change history header with to match_parent so it aligns tor the right properly. Before, it was on the left, even in RTL languages. Bug: 17776561 Change-Id: I53907496fe4e7a12f8962d4bc7295ed7a294c6e5 --- src/com/android/dialer/CallDetailActivity.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/com/android/dialer/CallDetailActivity.java') diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java index 32d61a27b..e2ab13025 100644 --- a/src/com/android/dialer/CallDetailActivity.java +++ b/src/com/android/dialer/CallDetailActivity.java @@ -32,6 +32,8 @@ import android.provider.ContactsContract.CommonDataKinds.Phone; 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 @@ public class CallDetailActivity extends AnalyticsActivity implements ProximitySe 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 @@ public class CallDetailActivity extends AnalyticsActivity implements ProximitySe 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)) { -- cgit v1.2.3