diff options
author | Andrew Lee <anwlee@google.com> | 2014-10-02 12:27:37 -0700 |
---|---|---|
committer | Andrew Lee <anwlee@google.com> | 2014-10-02 17:18:31 -0700 |
commit | 99e8adb92ce3dce67a6e3456de37dded27873c5e (patch) | |
tree | 1d109b0995e06f76fb185384a721a59c2834558a /src/com/android/dialer/CallDetailActivity.java | |
parent | eb15c67cdb07195cdcc6123ae26af5b15c49dcd7 (diff) |
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
Diffstat (limited to 'src/com/android/dialer/CallDetailActivity.java')
-rw-r--r-- | src/com/android/dialer/CallDetailActivity.java | 20 |
1 files changed, 12 insertions, 8 deletions
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)) { |