diff options
author | Ta-wei Yen <twyen@google.com> | 2017-09-18 13:47:27 -0700 |
---|---|---|
committer | Ta-wei Yen <twyen@google.com> | 2017-09-18 14:23:30 -0700 |
commit | 328e733744cc576c59d4dac607ef5940a024ecff (patch) | |
tree | f1f676e85bae73e604b0b5190655ea9eb5675f9d | |
parent | db86aa5bc50f8c6440dce1672864e29aaeba4a5d (diff) | |
download | android_packages_services_Telecomm-328e733744cc576c59d4dac607ef5940a024ecff.tar.gz android_packages_services_Telecomm-328e733744cc576c59d4dac607ef5940a024ecff.tar.bz2 android_packages_services_Telecomm-328e733744cc576c59d4dac607ef5940a024ecff.zip |
Mark phone number in block dialog and toast as LTR
Screenshots:
https://screenshot.googleplex.com/7o6Kg3F3wxw
https://screenshot.googleplex.com/on5MYpCmVDQ
https://screenshot.googleplex.com/zQ5voeokptq
Change-Id: I39f738433b58135b7059953597e0e72dc9351c4b
Fixes: 30130422
Test: manual
-rw-r--r-- | src/com/android/server/telecom/settings/BlockedNumbersAdapter.java | 9 | ||||
-rw-r--r-- | src/com/android/server/telecom/settings/BlockedNumbersUtil.java | 24 |
2 files changed, 20 insertions, 13 deletions
diff --git a/src/com/android/server/telecom/settings/BlockedNumbersAdapter.java b/src/com/android/server/telecom/settings/BlockedNumbersAdapter.java index 705e0311..1278a4b4 100644 --- a/src/com/android/server/telecom/settings/BlockedNumbersAdapter.java +++ b/src/com/android/server/telecom/settings/BlockedNumbersAdapter.java @@ -41,12 +41,9 @@ public class BlockedNumbersAdapter extends SimpleCursorAdapter { super.bindView(view, context, cursor); final String rawNumber = cursor.getString(cursor.getColumnIndex( BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER)); - String formattedNumber = PhoneNumberUtils.formatNumber(rawNumber, - BlockedNumbersUtil.getLocaleDefaultToUS()); - final String finalFormattedNumber = formattedNumber == null ? rawNumber : formattedNumber; - + final String formattedNumber = BlockedNumbersUtil.formatNumber(rawNumber); TextView numberView = (TextView) view.findViewById(R.id.blocked_number); - Spannable numberSpannable = new SpannableString(finalFormattedNumber); + Spannable numberSpannable = new SpannableString(formattedNumber); PhoneNumberUtils.addTtsSpan(numberSpannable, 0, numberSpannable.length()); numberView.setText(numberSpannable); @@ -54,7 +51,7 @@ public class BlockedNumbersAdapter extends SimpleCursorAdapter { deleteButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - showDeleteBlockedNumberDialog(context, rawNumber, finalFormattedNumber); + showDeleteBlockedNumberDialog(context, rawNumber, formattedNumber); } }); } diff --git a/src/com/android/server/telecom/settings/BlockedNumbersUtil.java b/src/com/android/server/telecom/settings/BlockedNumbersUtil.java index 5d2e2382..b75c4b3a 100644 --- a/src/com/android/server/telecom/settings/BlockedNumbersUtil.java +++ b/src/com/android/server/telecom/settings/BlockedNumbersUtil.java @@ -18,11 +18,11 @@ package com.android.server.telecom.settings; import android.content.Context; import android.telephony.PhoneNumberUtils; +import android.text.BidiFormatter; import android.text.Spannable; import android.text.SpannableString; +import android.text.TextDirectionHeuristics; import android.widget.Toast; -import com.android.server.telecom.R; - import java.util.Locale; public final class BlockedNumbersUtil { @@ -40,18 +40,28 @@ public final class BlockedNumbersUtil { } /** + * Attempts to format the number, or returns the original number if it is not formattable. Also + * wraps the returned number as LTR. + */ + public static String formatNumber(String number){ + String formattedNumber = PhoneNumberUtils.formatNumber(number, getLocaleDefaultToUS()); + return BidiFormatter.getInstance().unicodeWrap( + formattedNumber == null ? number : formattedNumber, + TextDirectionHeuristics.LTR); + } + + /** * Formats the number in the string and shows a toast for {@link Toast#LENGTH_SHORT}. * * <p>Adds the number in a TsSpan so that it reads as a phone number when talk back is on. */ public static void showToastWithFormattedNumber(Context context, int stringId, String number) { - String formattedNumber = PhoneNumberUtils.formatNumber(number, getLocaleDefaultToUS()); - String finalFormattedNumber = formattedNumber == null ? number : formattedNumber; - String message = context.getString(stringId, finalFormattedNumber); - int startingPosition = message.indexOf(finalFormattedNumber); + String formattedNumber = formatNumber(number); + String message = context.getString(stringId, formattedNumber); + int startingPosition = message.indexOf(formattedNumber); Spannable messageSpannable = new SpannableString(message); PhoneNumberUtils.addTtsSpan(messageSpannable, startingPosition, - startingPosition + finalFormattedNumber.length()); + startingPosition + formattedNumber.length()); Toast.makeText( context, messageSpannable, |