diff options
author | 2013-09-17 19:43:22 +0900 | |
---|---|---|
committer | 2013-09-17 22:17:22 +0900 | |
commit | e8f717943f7063444cd1c777e8dd03dc738f3c4a (patch) | |
tree | 9019b085955b2d391cbfe76003119f86555ecdc9 /java/src | |
parent | 060917ed9abff0e777e6b99e43cc4b826d1ac0c8 (diff) | |
download | latinime-e8f717943f7063444cd1c777e8dd03dc738f3c4a.tar.gz latinime-e8f717943f7063444cd1c777e8dd03dc738f3c4a.tar.xz latinime-e8f717943f7063444cd1c777e8dd03dc738f3c4a.zip |
Improve trailing quotes processing
Bug: 10445496
Change-Id: Ib7bd05aea59ae6c9b8ce31299ef2235521b0e350
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/Suggest.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 7815f4d41..1684d47b5 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -460,7 +460,7 @@ public final class Suggest { private static final SuggestedWordInfoComparator sSuggestedWordInfoComparator = new SuggestedWordInfoComparator(); - private static SuggestedWordInfo getTransformedSuggestedWordInfo( + /* package for test */ static SuggestedWordInfo getTransformedSuggestedWordInfo( final SuggestedWordInfo wordInfo, final Locale locale, final boolean isAllUpperCase, final boolean isFirstCharCapitalized, final int trailingSingleQuotesCount) { final StringBuilder sb = new StringBuilder(wordInfo.mWord.length()); @@ -471,7 +471,12 @@ public final class Suggest { } else { sb.append(wordInfo.mWord); } - for (int i = trailingSingleQuotesCount - 1; i >= 0; --i) { + // Appending quotes is here to help people quote words. However, it's not helpful + // when they type words with quotes toward the end like "it's" or "didn't", where + // it's more likely the user missed the last character (or didn't type it yet). + final int quotesToAppend = trailingSingleQuotesCount + - (-1 == wordInfo.mWord.indexOf(Constants.CODE_SINGLE_QUOTE) ? 0 : 1); + for (int i = quotesToAppend - 1; i >= 0; --i) { sb.appendCodePoint(Constants.CODE_SINGLE_QUOTE); } return new SuggestedWordInfo(sb.toString(), wordInfo.mScore, wordInfo.mKind, |