Add to SuggestedWords a missing parameter, and use it.

Also stop using Builder between its creation and the call to
the #build() method.

Change-Id: Ie1fc3ec7b6f4c7c3789f672f4e26b4bf58c3e062
This commit is contained in:
Jean Chalard 2012-03-13 20:16:18 +09:00
parent 2e2519ee91
commit ec471c72f8
2 changed files with 14 additions and 8 deletions
java/src/com/android/inputmethod/latin

View file

@ -1769,6 +1769,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// getSuggestedWordBuilder handles gracefully a null value of prevWord
final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(mWordComposer,
prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCorrectionMode);
final SuggestedWords suggestions = builder.build();
// Basically, we update the suggestion strip only when suggestion count > 1. However,
// there is an exception: We update the suggestion strip whenever typed word's length
@ -1776,9 +1777,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// in most cases, suggestion count is 1 when typed word's length is 1, but we do always
// need to clear the previous state when the user starts typing a word (i.e. typed word's
// length == 1).
if (builder.size() > 1 || typedWord.length() == 1 || !builder.allowsToBeAutoCorrected()
if (suggestions.size() > 1 || typedWord.length() == 1
|| !suggestions.mAllowsToBeAutoCorrected
|| mSuggestionsView.isShowingAddToDictionaryHint()) {
showSuggestions(builder.build(), typedWord);
showSuggestions(suggestions, typedWord);
} else {
SuggestedWords previousSuggestions = mSuggestionsView.getSuggestions();
if (previousSuggestions == mSettingsValues.mSuggestPuncList) {

View file

@ -25,21 +25,25 @@ import java.util.List;
public class SuggestedWords {
public static final SuggestedWords EMPTY = new SuggestedWords(false, false, false, false,
Collections.<SuggestedWordInfo>emptyList());
false, Collections.<SuggestedWordInfo>emptyList());
public final boolean mTypedWordValid;
public final boolean mHasAutoCorrectionCandidate;
public final boolean mIsPunctuationSuggestions;
public final boolean mAllowsToBeAutoCorrected;
private final List<SuggestedWordInfo> mSuggestedWordInfoList;
SuggestedWords(boolean typedWordValid,
boolean hasAutoCorrectionCandidate, boolean isPunctuationSuggestions,
boolean shouldBlockAutoCorrectionBySafetyNet,
List<SuggestedWordInfo> suggestedWordInfoList) {
SuggestedWords(final boolean typedWordValid,
final boolean hasAutoCorrectionCandidate,
final boolean isPunctuationSuggestions,
final boolean shouldBlockAutoCorrectionBySafetyNet,
final boolean allowsToBeAutoCorrected,
final List<SuggestedWordInfo> suggestedWordInfoList) {
mTypedWordValid = typedWordValid;
mHasAutoCorrectionCandidate = hasAutoCorrectionCandidate
&& !shouldBlockAutoCorrectionBySafetyNet;
mIsPunctuationSuggestions = isPunctuationSuggestions;
mAllowsToBeAutoCorrected = allowsToBeAutoCorrected;
mSuggestedWordInfoList = suggestedWordInfoList;
}
@ -138,7 +142,7 @@ public class SuggestedWords {
public SuggestedWords build() {
return new SuggestedWords(mTypedWordValid, mHasMinimalSuggestion,
mIsPunctuationSuggestions, mShouldBlockAutoCorrectionBySafetyNet,
mSuggestedWordInfoList);
mAllowsToBeAutoCorrected, mSuggestedWordInfoList);
}
public int size() {