From 9dfe86d4102b93885b947917fccee35053cfc9f2 Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Thu, 4 Dec 2014 14:42:38 -0800 Subject: Change Linkify leniency to VALID The linkify logic used POSSIBLE as its leniency setting, which resulted in false positives such as 4-digit years being interpreted as phone numbers. Changing to VALID as per recommendation of libphonenumber people, which fixes this problem. Bug: 18489494 Change-Id: I77d330285de46de2fdda22daed41392106ec6ddd --- core/java/android/text/util/Linkify.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'core/java/android/text') diff --git a/core/java/android/text/util/Linkify.java b/core/java/android/text/util/Linkify.java index c1341e1..14be269 100644 --- a/core/java/android/text/util/Linkify.java +++ b/core/java/android/text/util/Linkify.java @@ -402,7 +402,7 @@ public class Linkify { } boolean hasPrefix = false; - + for (int i = 0; i < prefixes.length; i++) { if (url.regionMatches(true, 0, prefixes[i], 0, prefixes[i].length())) { @@ -450,7 +450,7 @@ public class Linkify { private static final void gatherTelLinks(ArrayList links, Spannable s) { PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); Iterable matches = phoneUtil.findNumbers(s.toString(), - Locale.getDefault().getCountry(), Leniency.POSSIBLE, Long.MAX_VALUE); + Locale.getDefault().getCountry(), Leniency.VALID, Long.MAX_VALUE); for (PhoneNumberMatch match : matches) { LinkSpec spec = new LinkSpec(); spec.url = "tel:" + PhoneNumberUtils.normalizeNumber(match.rawString()); -- cgit v1.1