diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-04-09 13:02:13 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-04-09 13:02:13 +0000 |
| commit | 2946fba398a09f144cc64e0ccb070bc682b85a67 (patch) | |
| tree | eb2cc54dbc22ef388363ff6eeae3c09d73f7027f /core/java | |
| parent | 0a82994f9311c4cd4abc346431deb6a036aa404a (diff) | |
| parent | cfaf8a1e5bea143b9604dd87078d22cd5d9b1b6c (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.java | 27 |
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(); } } } |
