Loading core/java/android/text/util/Linkify.java +20 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.text.util; import android.telephony.PhoneNumberUtils; import android.text.method.LinkMovementMethod; import android.text.method.MovementMethod; import android.text.style.URLSpan; Loading @@ -32,9 +33,14 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.android.i18n.phonenumbers.PhoneNumberMatch; import com.android.i18n.phonenumbers.PhoneNumberUtil; import com.android.i18n.phonenumbers.PhoneNumberUtil.Leniency; /** * Linkify take a piece of text and a regular expression and turns all of the * regex matches in the text into clickable links. This is particularly Loading Loading @@ -221,9 +227,7 @@ public class Linkify { } if ((mask & PHONE_NUMBERS) != 0) { gatherLinks(links, text, Patterns.PHONE, new String[] { "tel:" }, sPhoneNumberMatchFilter, sPhoneNumberTransformFilter); gatherTelLinks(links, text); } if ((mask & MAP_ADDRESSES) != 0) { Loading Loading @@ -443,6 +447,19 @@ public class Linkify { } } private static final void gatherTelLinks(ArrayList<LinkSpec> links, Spannable s) { PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); Iterable<PhoneNumberMatch> matches = phoneUtil.findNumbers(s.toString(), Locale.getDefault().getCountry(), Leniency.POSSIBLE, Long.MAX_VALUE); for (PhoneNumberMatch match : matches) { LinkSpec spec = new LinkSpec(); spec.url = "tel:" + PhoneNumberUtils.normalizeNumber(match.rawString()); spec.start = match.start(); spec.end = match.end(); links.add(spec); } } private static final void gatherMapLinks(ArrayList<LinkSpec> links, Spannable s) { String string = s.toString(); String address; Loading Loading
core/java/android/text/util/Linkify.java +20 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.text.util; import android.telephony.PhoneNumberUtils; import android.text.method.LinkMovementMethod; import android.text.method.MovementMethod; import android.text.style.URLSpan; Loading @@ -32,9 +33,14 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.android.i18n.phonenumbers.PhoneNumberMatch; import com.android.i18n.phonenumbers.PhoneNumberUtil; import com.android.i18n.phonenumbers.PhoneNumberUtil.Leniency; /** * Linkify take a piece of text and a regular expression and turns all of the * regex matches in the text into clickable links. This is particularly Loading Loading @@ -221,9 +227,7 @@ public class Linkify { } if ((mask & PHONE_NUMBERS) != 0) { gatherLinks(links, text, Patterns.PHONE, new String[] { "tel:" }, sPhoneNumberMatchFilter, sPhoneNumberTransformFilter); gatherTelLinks(links, text); } if ((mask & MAP_ADDRESSES) != 0) { Loading Loading @@ -443,6 +447,19 @@ public class Linkify { } } private static final void gatherTelLinks(ArrayList<LinkSpec> links, Spannable s) { PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); Iterable<PhoneNumberMatch> matches = phoneUtil.findNumbers(s.toString(), Locale.getDefault().getCountry(), Leniency.POSSIBLE, Long.MAX_VALUE); for (PhoneNumberMatch match : matches) { LinkSpec spec = new LinkSpec(); spec.url = "tel:" + PhoneNumberUtils.normalizeNumber(match.rawString()); spec.start = match.start(); spec.end = match.end(); links.add(spec); } } private static final void gatherMapLinks(ArrayList<LinkSpec> links, Spannable s) { String string = s.toString(); String address; Loading