diff options
author | 2010-03-24 16:44:31 -0700 | |
---|---|---|
committer | 2010-03-24 19:31:49 -0700 | |
commit | 0c05902e331b03426754a1cfffe28d185dd8338c (patch) | |
tree | 2d65f29bc938b3eef7c7d65ca03221b710da5d3b /java/src | |
parent | 4ff60be170872503cca0275ef3488b7379b5311b (diff) | |
download | latinime-0c05902e331b03426754a1cfffe28d185dd8338c.tar.gz latinime-0c05902e331b03426754a1cfffe28d185dd8338c.tar.xz latinime-0c05902e331b03426754a1cfffe28d185dd8338c.zip |
Don't auto-add when in suggest-only mode. Bug: 2521344
Also don't highlight quickfixes when in suggest-only mode
In general, reduce the situations where words are auto-added. It was
too eagerly adding even words that were in the dictionary.
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 13 | ||||
-rwxr-xr-x | java/src/com/android/inputmethod/latin/Suggest.java | 9 |
2 files changed, 14 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 86992db2d..b7de26b41 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1438,7 +1438,7 @@ public class LatinIME extends InputMethodService ((LatinKeyboard) mInputView.getKeyboard()).setPreferredLetters(nextLettersFrequencies); - boolean correctionAvailable = mSuggest.hasMinimalCorrection(); + boolean correctionAvailable = !mInputTypeNoAutoCorrect && mSuggest.hasMinimalCorrection(); //|| mCorrectionMode == mSuggest.CORRECTION_FULL; CharSequence typedWord = mWord.getTypedWord(); // If we're in basic correct @@ -1519,7 +1519,9 @@ public class LatinIME extends InputMethodService mJustAccepted = true; pickSuggestion(suggestion); // Add the word to the auto dictionary if it's not a known word - checkAddToDictionary(suggestion, AutoDictionary.FREQUENCY_FOR_PICKED); + if (index == 0) { + checkAddToDictionary(suggestion, AutoDictionary.FREQUENCY_FOR_PICKED); + } TextEntryState.acceptedSuggestion(mComposing.toString(), suggestion); // Follow it with a space if (mAutoSpace) { @@ -1565,8 +1567,13 @@ public class LatinIME extends InputMethodService } private void checkAddToDictionary(CharSequence suggestion, int frequencyDelta) { + // Only auto-add to dictionary if auto-correct is ON. Otherwise we'll be + // adding words in situations where the user or application really didn't + // want corrections enabled or learned. + if (!(mCorrectionMode == Suggest.CORRECTION_FULL)) return; if (mAutoDictionary.isValidWord(suggestion) - || !mSuggest.isValidWord(suggestion.toString().toLowerCase())) { + || (!mSuggest.isValidWord(suggestion.toString()) + && !mSuggest.isValidWord(suggestion.toString().toLowerCase()))) { mAutoDictionary.addWord(suggestion.toString(), frequencyDelta); } } diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index b44717d0a..14899e84e 100755 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -346,11 +346,10 @@ public class Suggest implements Dictionary.WordCallback { if (word == null || word.length() == 0) { return false; } - return (mCorrectionMode == CORRECTION_FULL && mMainDict.isValidWord(word)) - || (mCorrectionMode > CORRECTION_NONE && - ((mUserDictionary != null && mUserDictionary.isValidWord(word))) - || (mAutoDictionary != null && mAutoDictionary.isValidWord(word)) - || (mContactsDictionary != null && mContactsDictionary.isValidWord(word))); + return mMainDict.isValidWord(word) + || (mUserDictionary != null && mUserDictionary.isValidWord(word)) + || (mAutoDictionary != null && mAutoDictionary.isValidWord(word)) + || (mContactsDictionary != null && mContactsDictionary.isValidWord(word)); } private void collectGarbage() { |