diff options
author | 2012-05-07 22:02:04 +0900 | |
---|---|---|
committer | 2012-05-07 22:21:55 +0900 | |
commit | e58f3af8a7bf852c3b100de1bd85d95d13e0e15e (patch) | |
tree | f62f6c3b59b25e7e2fc497d09a6a28f25950661f /java/src/com/android/inputmethod | |
parent | 8950ce6c44706467bb386570ae236a2b8b983666 (diff) | |
download | latinime-e58f3af8a7bf852c3b100de1bd85d95d13e0e15e.tar.gz latinime-e58f3af8a7bf852c3b100de1bd85d95d13e0e15e.tar.xz latinime-e58f3af8a7bf852c3b100de1bd85d95d13e0e15e.zip |
Treat apostrophe as single quote in spell checker
Bug: 6435348
Change-Id: Iaaac9042e7e6cb21a3f2243bc6e8e055cc24f74d
Diffstat (limited to 'java/src/com/android/inputmethod')
-rw-r--r-- | java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java index aa25faef5..f41645283 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java @@ -90,6 +90,8 @@ public class AndroidSpellCheckerService extends SpellCheckerService public static final int SCRIPT_LATIN = 0; public static final int SCRIPT_CYRILLIC = 1; + private static final String SINGLE_QUOTE = "\u0027"; + private static final String APOSTROPHE = "\u2019"; private static final TreeMap<String, Integer> mLanguageToScript; static { // List of the supported languages and their associated script. We won't check @@ -574,24 +576,24 @@ public class AndroidSpellCheckerService extends SpellCheckerService public SuggestionsInfo onGetSuggestions(final TextInfo textInfo, final int suggestionsLimit) { try { - final String text = textInfo.getText(); + final String inText = textInfo.getText(); final SuggestionsParams cachedSuggestionsParams = - mSuggestionsCache.getSuggestionsFromCache(text); + mSuggestionsCache.getSuggestionsFromCache(inText); if (cachedSuggestionsParams != null) { if (DBG) { - Log.d(TAG, "Cache hit: " + text + ", " + cachedSuggestionsParams.mFlags); + Log.d(TAG, "Cache hit: " + inText + ", " + cachedSuggestionsParams.mFlags); } return new SuggestionsInfo( cachedSuggestionsParams.mFlags, cachedSuggestionsParams.mSuggestions); } - if (shouldFilterOut(text, mScript)) { + if (shouldFilterOut(inText, mScript)) { DictAndProximity dictInfo = null; try { dictInfo = mDictionaryPool.takeOrGetNull(); if (null == dictInfo) return getNotInDictEmptySuggestions(); - return dictInfo.mDictionary.isValidWord(text) ? getInDictEmptySuggestions() - : getNotInDictEmptySuggestions(); + return dictInfo.mDictionary.isValidWord(inText) ? + getInDictEmptySuggestions() : getNotInDictEmptySuggestions(); } finally { if (null != dictInfo) { if (!mDictionaryPool.offer(dictInfo)) { @@ -600,6 +602,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService } } } + final String text = inText.replaceAll(APOSTROPHE, SINGLE_QUOTE); // TODO: Don't gather suggestions if the limit is <= 0 unless necessary final SuggestionsGatherer suggestionsGatherer = new SuggestionsGatherer(text, |