summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTa-wei Yen <twyen@google.com>2017-09-18 13:47:27 -0700
committerTa-wei Yen <twyen@google.com>2017-09-18 14:23:30 -0700
commit328e733744cc576c59d4dac607ef5940a024ecff (patch)
treef1f676e85bae73e604b0b5190655ea9eb5675f9d
parentdb86aa5bc50f8c6440dce1672864e29aaeba4a5d (diff)
downloadandroid_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.java9
-rw-r--r--src/com/android/server/telecom/settings/BlockedNumbersUtil.java24
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,