Merge "[Settings] Unified the source of phone number"

This commit is contained in:
Bonian Chen
2023-02-13 12:38:14 +00:00
committed by Android (Google) Code Review
4 changed files with 21 additions and 8 deletions

View File

@@ -31,6 +31,8 @@ import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.UiccCardInfo;
import android.telephony.UiccSlotInfo;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.util.Log;
@@ -42,7 +44,6 @@ import com.android.settings.network.helper.SelectableSubscriptions;
import com.android.settings.network.helper.SubscriptionAnnotation;
import com.android.settings.network.telephony.DeleteEuiccSubscriptionDialogActivity;
import com.android.settings.network.telephony.ToggleSubscriptionDialogActivity;
import com.android.settingslib.DeviceInfoUtils;
import java.util.ArrayList;
import java.util.Collections;
@@ -292,7 +293,7 @@ public class SubscriptionUtil {
final Supplier<Stream<DisplayInfo>> uniqueInfos = () -> originalInfos.get().map(info -> {
if (duplicateOriginalNames.contains(info.originalName)) {
// This may return null, if the user cannot view the phone number itself.
final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(context,
final String phoneNumber = getBidiFormattedPhoneNumber(context,
info.subscriptionInfo);
String lastFourDigits = "";
if (phoneNumber != null) {
@@ -563,6 +564,20 @@ public class SubscriptionUtil {
return PhoneNumberUtils.formatNumber(rawPhoneNumber, countryIso);
}
/**
* To get the formatting text for display in a potentially opposite-directionality context
* without garbling.
* @param subscriptionInfo {@link SubscriptionInfo} subscription information.
* @return Returns phone number with Bidi format.
*/
@Nullable
public static String getBidiFormattedPhoneNumber(Context context,
SubscriptionInfo subscriptionInfo) {
String phoneNumber = getFormattedPhoneNumber(context, subscriptionInfo);
return (phoneNumber == null) ? phoneNumber :
BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
}
/**
* Returns the subscription on a removable sim card. The device does not need to be on removable
* slot.

View File

@@ -47,7 +47,6 @@ import androidx.appcompat.app.AlertDialog;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.DeviceInfoUtils;
import com.google.common.collect.ImmutableMap;
@@ -184,7 +183,7 @@ public class RenameMobileNetworkDialogFragment extends InstrumentedDialogFragmen
phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
final TextView phoneNumber = view.findViewById(R.id.number_value);
final String pn = DeviceInfoUtils.getBidiFormattedPhoneNumber(getContext(), info);
final String pn = SubscriptionUtil.getBidiFormattedPhoneNumber(getContext(), info);
if (!TextUtils.isEmpty(pn)) {
phoneNumber.setText(pn);
}