From 0806bb01d9e857db9fbac38b9b6e77feb9e9e4c9 Mon Sep 17 00:00:00 2001 From: Tom Ouyang Date: Thu, 19 Apr 2012 10:54:37 -0700 Subject: Binary bigram lookup checks both uppercase and lowercase when previous word is uppercase. Bug: 6363029 Change-Id: I71a1ed5b88f54fcc15bfaf89d3645b8f17ebb821 --- java/src/com/android/inputmethod/latin/StringUtils.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'java/src/com/android/inputmethod/latin/StringUtils.java') diff --git a/java/src/com/android/inputmethod/latin/StringUtils.java b/java/src/com/android/inputmethod/latin/StringUtils.java index 160581cbe..a43b90525 100644 --- a/java/src/com/android/inputmethod/latin/StringUtils.java +++ b/java/src/com/android/inputmethod/latin/StringUtils.java @@ -122,6 +122,23 @@ public class StringUtils { return true; } + /** + * Returns true if cs contains any upper case characters. + * + * @param cs the CharSequence to check + * @return {@code true} if cs contains any upper case characters, {@code false} otherwise. + */ + public static boolean hasUpperCase(final CharSequence cs) { + final int length = cs.length(); + for (int i = 0, cp = 0; i < length; i += Character.charCount(cp)) { + cp = Character.codePointAt(cs, i); + if (Character.isUpperCase(cp)) { + return true; + } + } + return false; + } + /** * Remove duplicates from an array of strings. * -- cgit v1.2.3-83-g751a