diff options
| -rwxr-xr-x | api/system-current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/text/util/Linkify.java | 7 | ||||
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 23 |
3 files changed, 5 insertions, 26 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 9b06bf14d8fb..c1105065a09a 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -11598,7 +11598,6 @@ package android.telephony { method @Deprecated public boolean getDataEnabled(); method @Deprecated public boolean getDataEnabled(int); method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean); - method @NonNull public static String getDefaultSimCountryIso(); method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDeviceSoftwareVersion(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode(); diff --git a/core/java/android/text/util/Linkify.java b/core/java/android/text/util/Linkify.java index 2aca36aeff0f..82c7ea705aa6 100644 --- a/core/java/android/text/util/Linkify.java +++ b/core/java/android/text/util/Linkify.java @@ -19,6 +19,7 @@ package android.text.util; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.ActivityThread; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; import android.telephony.PhoneNumberUtils; @@ -663,9 +664,11 @@ public class Linkify { private static void gatherTelLinks(ArrayList<LinkSpec> links, Spannable s, @Nullable Context context) { PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); + final Context ctx = (context != null) ? context : ActivityThread.currentApplication(); + final String regionCode = (ctx != null) ? ctx.getSystemService(TelephonyManager.class). + getSimCountryIso().toUpperCase(Locale.US) : Locale.getDefault().getCountry(); Iterable<PhoneNumberMatch> matches = phoneUtil.findNumbers(s.toString(), - TelephonyManager.getDefaultSimCountryIso().toUpperCase(Locale.US), - Leniency.POSSIBLE, Long.MAX_VALUE); + regionCode, Leniency.POSSIBLE, Long.MAX_VALUE); for (PhoneNumberMatch match : matches) { LinkSpec spec = new LinkSpec(); spec.url = "tel:" + PhoneNumberUtils.normalizeNumber(match.rawString()); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index c705258de4c7..780161aa1557 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -3763,29 +3763,6 @@ public class TelephonyManager { } /** - * Returns the ISO-3166 country code equivalent for the SIM provider's country code - * of the default subscription - * <p> - * The ISO-3166 country code is provided in lowercase 2 character format. - * @return the lowercase 2 character ISO-3166 country code, or empty string is not available. - * <p> - * Note: This API is introduced to unblock mainlining work as the following APIs in - * Linkify.java invokes getSimCountryIso() without a context. TODO(Bug 144576376): remove - * this API once the following APIs are redesigned to access telephonymanager with a context. - * - * {@link Linkify#addLinks(@NonNull Spannable text, @LinkifyMask int mask)} - * {@link Linkify#addLinks(@NonNull Spannable text, @LinkifyMask int mask, - @Nullable Function<String, URLSpan> urlSpanFactory)} - * - * @hide - */ - @SystemApi - @NonNull - public static String getDefaultSimCountryIso() { - return getSimCountryIso(SubscriptionManager.getDefaultSubscriptionId()); - } - - /** * Returns the ISO country code equivalent for the SIM provider's country code. * * @param subId for which SimCountryIso is returned |