aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2010-03-24 16:44:31 -0700
committerAmith Yamasani <yamasani@google.com>2010-03-24 19:31:49 -0700
commit0c05902e331b03426754a1cfffe28d185dd8338c (patch)
tree2d65f29bc938b3eef7c7d65ca03221b710da5d3b /java
parent4ff60be170872503cca0275ef3488b7379b5311b (diff)
downloadlatinime-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')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java13
-rwxr-xr-xjava/src/com/android/inputmethod/latin/Suggest.java9
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() {