Loading src/com/android/server/telecom/settings/BlockedNumbersAdapter.java +3 −6 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); } }); } Loading src/com/android/server/telecom/settings/BlockedNumbersUtil.java +17 −7 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -39,19 +39,29 @@ public final class BlockedNumbersUtil { return countryIso; } /** * 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, Loading Loading
src/com/android/server/telecom/settings/BlockedNumbersAdapter.java +3 −6 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); } }); } Loading
src/com/android/server/telecom/settings/BlockedNumbersUtil.java +17 −7 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -39,19 +39,29 @@ public final class BlockedNumbersUtil { return countryIso; } /** * 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, Loading