[Settings] Unified the source of phone number
Route UI access to phone number into a unified util class within Settings app. Bug: 265940535 Test: local Change-Id: Ic747b0044217101d9a6a1e2cd6e59bbdbcd88021
This commit is contained in:
@@ -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.
|
||||
|
Reference in New Issue
Block a user