Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea932239 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Mark phone number in block dialog and toast as LTR" into oc-mr1-dev

parents 8475c158 328e7337
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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);
            }
        });
    }
+17 −7
Original line number Diff line number Diff line
@@ -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 {
@@ -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,