summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-04-09 13:02:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-04-09 13:02:13 +0000
commit2946fba398a09f144cc64e0ccb070bc682b85a67 (patch)
treeeb2cc54dbc22ef388363ff6eeae3c09d73f7027f /core/java
parent0a82994f9311c4cd4abc346431deb6a036aa404a (diff)
parentcfaf8a1e5bea143b9604dd87078d22cd5d9b1b6c (diff)
Merge "Only match addresses without zip codes if at the end." into pi-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/webkit/FindAddress.java27
1 files changed, 14 insertions, 13 deletions
diff --git a/core/java/android/webkit/FindAddress.java b/core/java/android/webkit/FindAddress.java
index 31b242739882..9183227b3962 100644
--- a/core/java/android/webkit/FindAddress.java
+++ b/core/java/android/webkit/FindAddress.java
@@ -429,20 +429,21 @@ class FindAddress {
// At this point we've matched a state; try to match a zip code after it.
Matcher zipMatcher = sWordRe.matcher(content);
- if (zipMatcher.find(stateMatch.end())
- && isValidZipCode(zipMatcher.group(0), stateMatch)) {
- return zipMatcher.end();
+ if (zipMatcher.find(stateMatch.end())) {
+ if (isValidZipCode(zipMatcher.group(0), stateMatch)) {
+ return zipMatcher.end();
+ }
+ } else {
+ // The content ends with a state but no zip
+ // code. This is a legal match according to the
+ // documentation. N.B. This is equivalent to the
+ // original c++ implementation, which only allowed
+ // the zip code to be optional at the end of the
+ // string, which presumably is a bug. We tried
+ // relaxing this to work in other places but it
+ // caused too many false positives.
+ nonZipMatch = stateMatch.end();
}
- // The content ends with a state but no zip
- // code. This is a legal match according to the
- // documentation. N.B. This differs from the
- // original c++ implementation, which only allowed
- // the zip code to be optional at the end of the
- // string, which presumably is a bug. Now we
- // prefer to find a match with a zip code, but
- // remember non-zip matches and return them if
- // necessary.
- nonZipMatch = stateMatch.end();
}
}
}