diff --git a/core/java/android/text/util/Linkify.java b/core/java/android/text/util/Linkify.java index 946fc30eecb36..fb6de56b09523 100644 --- a/core/java/android/text/util/Linkify.java +++ b/core/java/android/text/util/Linkify.java @@ -31,6 +31,7 @@ import android.text.Spanned; import android.text.method.LinkMovementMethod; import android.text.method.MovementMethod; import android.text.style.URLSpan; +import android.text.TextUtils; import android.util.Log; import android.util.Patterns; import android.webkit.WebView; @@ -672,8 +673,15 @@ public class Linkify { @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(); + String regionCode = Locale.getDefault().getCountry(); + if (ctx != null) { + String simCountryIso = ctx.getSystemService(TelephonyManager.class).getSimCountryIso(); + if (!TextUtils.isEmpty(simCountryIso)) { + // Assign simCountryIso if it is available + regionCode = simCountryIso.toUpperCase(Locale.US); + } + } + Iterable matches = phoneUtil.findNumbers(s.toString(), regionCode, Leniency.POSSIBLE, Long.MAX_VALUE); for (PhoneNumberMatch match : matches) {