Some more simplification

I wish "are we autocorrecting?" was not computed in a dozen
places all depending on a hundred code paths
More than likely, this fixes very subtle discrepancies
between auto-correction indicator with the underline and with
the LED on the spacebar - which is not displayed any more in
the current version anyway. Especially, the LED probably
would have been off when the word was caught by the safety net.

Change-Id: Idda3021771081d6155b06915e728ecd64d9e042e
main
Jean Chalard 2012-03-02 20:33:23 +09:00
parent e2a50bd804
commit dd931c47be
1 changed files with 10 additions and 9 deletions

View File

@ -980,8 +980,9 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
.setHasMinimalSuggestion(false);
// When in fullscreen mode, show completions generated by the application
final SuggestedWords words = builder.build();
setSuggestions(words);
setAutoCorrectionIndicator(Utils.willAutoCorrect(words));
final boolean isAutoCorrection = Utils.willAutoCorrect(words);
setSuggestions(words, isAutoCorrection);
setAutoCorrectionIndicator(isAutoCorrection);
// TODO: is this the right thing to do? What should we auto-correct to in
// this case? This says to keep whatever the user typed.
mWordComposer.setAutoCorrection(mWordComposer.getTypedWord());
@ -1714,15 +1715,14 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
public void clearSuggestions() {
setSuggestions(SuggestedWords.EMPTY);
setSuggestions(SuggestedWords.EMPTY, false);
setAutoCorrectionIndicator(false);
}
public void setSuggestions(final SuggestedWords words) {
public void setSuggestions(final SuggestedWords words, final boolean isAutoCorrection) {
if (mSuggestionsView != null) {
mSuggestionsView.setSuggestions(words);
mKeyboardSwitcher.onAutoCorrectionStateChanged(
words.hasWordAboveAutoCorrectionScoreThreshold());
mKeyboardSwitcher.onAutoCorrectionStateChanged(isAutoCorrection);
}
}
@ -1851,8 +1851,9 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
autoCorrection = null;
}
mWordComposer.setAutoCorrection(autoCorrection);
setSuggestions(suggestedWords);
setAutoCorrectionIndicator(Utils.willAutoCorrect(suggestedWords));
final boolean isAutoCorrection = Utils.willAutoCorrect(suggestedWords);
setSuggestions(suggestedWords, isAutoCorrection);
setAutoCorrectionIndicator(isAutoCorrection);
setSuggestionStripShown(isSuggestionsStripVisible());
}
@ -2025,7 +2026,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
public void setPunctuationSuggestions() {
setSuggestions(mSettingsValues.mSuggestPuncList);
setSuggestions(mSettingsValues.mSuggestPuncList, false);
setAutoCorrectionIndicator(false);
setSuggestionStripShown(isSuggestionsStripVisible());
}