Re-sequence the last calls to build()

Change-Id: If77ee5aa9483d3ca03c52812f31665dee6468e99
This commit is contained in:
Jean Chalard 2012-03-14 13:09:05 +09:00
parent d42b0238f9
commit 5b0643f50d
2 changed files with 10 additions and 13 deletions

View file

@ -1768,9 +1768,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final CharSequence typedWord = mWordComposer.getTypedWord(); final CharSequence typedWord = mWordComposer.getTypedWord();
// getSuggestedWordBuilder handles gracefully a null value of prevWord // getSuggestedWordBuilder handles gracefully a null value of prevWord
final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(mWordComposer, final SuggestedWords suggestedWords = mSuggest.getSuggestedWords(mWordComposer,
prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCorrectionMode); prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCorrectionMode);
final SuggestedWords suggestions = builder.build();
// Basically, we update the suggestion strip only when suggestion count > 1. However, // 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 // there is an exception: We update the suggestion strip whenever typed word's length
@ -1778,10 +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 // 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 // need to clear the previous state when the user starts typing a word (i.e. typed word's
// length == 1). // length == 1).
if (suggestions.size() > 1 || typedWord.length() == 1 if (suggestedWords.size() > 1 || typedWord.length() == 1
|| !suggestions.mAllowsToBeAutoCorrected || !suggestedWords.mAllowsToBeAutoCorrected
|| mSuggestionsView.isShowingAddToDictionaryHint()) { || mSuggestionsView.isShowingAddToDictionaryHint()) {
showSuggestions(suggestions, typedWord); showSuggestions(suggestedWords, typedWord);
} else { } else {
SuggestedWords previousSuggestions = mSuggestionsView.getSuggestions(); SuggestedWords previousSuggestions = mSuggestionsView.getSuggestions();
if (previousSuggestions == mSettingsValues.mSuggestPuncList) { if (previousSuggestions == mSettingsValues.mSuggestPuncList) {
@ -1982,7 +1981,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final CharSequence prevWord = EditingUtils.getThisWord(getCurrentInputConnection(), final CharSequence prevWord = EditingUtils.getThisWord(getCurrentInputConnection(),
mSettingsValues.mWordSeparators); mSettingsValues.mWordSeparators);
if (!TextUtils.isEmpty(prevWord)) { if (!TextUtils.isEmpty(prevWord)) {
suggestedWords = mSuggest.getBigramPredictionWordBuilder(prevWord).build(); suggestedWords = mSuggest.getBigramPredictions(prevWord);
} else { } else {
suggestedWords = null; suggestedWords = null;
} }

View file

@ -239,7 +239,7 @@ public class Suggest implements Dictionary.WordCallback {
} }
private static final WordComposer sEmptyWordComposer = new WordComposer(); private static final WordComposer sEmptyWordComposer = new WordComposer();
public SuggestedWords.Builder getBigramPredictionWordBuilder(CharSequence prevWordForBigram) { public SuggestedWords getBigramPredictions(CharSequence prevWordForBigram) {
LatinImeLogger.onStartSuggestion(prevWordForBigram); LatinImeLogger.onStartSuggestion(prevWordForBigram);
mIsFirstCharCapitalized = false; mIsFirstCharCapitalized = false;
mIsAllUpperCase = false; mIsAllUpperCase = false;
@ -275,11 +275,11 @@ public class Suggest implements Dictionary.WordCallback {
false /* hasMinimalSuggestion */, false /* hasMinimalSuggestion */,
false /* allowsToBeAutoCorrected */, false /* allowsToBeAutoCorrected */,
false /* isPunctuationSuggestions */, false /* isPunctuationSuggestions */,
false /* shouldBlockAutoCorrectionBySafetyNet */); false /* shouldBlockAutoCorrectionBySafetyNet */).build();
} }
// TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder // TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder
public SuggestedWords.Builder getSuggestedWordBuilder( public SuggestedWords getSuggestedWords(
final WordComposer wordComposer, CharSequence prevWordForBigram, final WordComposer wordComposer, CharSequence prevWordForBigram,
final ProximityInfo proximityInfo, final int correctionMode) { final ProximityInfo proximityInfo, final int correctionMode) {
LatinImeLogger.onStartSuggestion(prevWordForBigram); LatinImeLogger.onStartSuggestion(prevWordForBigram);
@ -393,7 +393,6 @@ public class Suggest implements Dictionary.WordCallback {
mSuggestions.add(0, typedWord); mSuggestions.add(0, typedWord);
StringUtils.removeDupes(mSuggestions); StringUtils.removeDupes(mSuggestions);
final SuggestedWords.Builder builder;
final ArrayList<SuggestedWords.SuggestedWordInfo> scoreInfoList; final ArrayList<SuggestedWords.SuggestedWordInfo> scoreInfoList;
if (DBG) { if (DBG) {
// TODO: this doesn't take into account the fact that removing dupes from mSuggestions // TODO: this doesn't take into account the fact that removing dupes from mSuggestions
@ -446,13 +445,12 @@ public class Suggest implements Dictionary.WordCallback {
} else { } else {
shouldBlockAutoCorrectionBySatefyNet = false; shouldBlockAutoCorrectionBySatefyNet = false;
} }
builder = new SuggestedWords.Builder(scoreInfoList, return new SuggestedWords.Builder(scoreInfoList,
!allowsToBeAutoCorrected /* typedWordValid */, !allowsToBeAutoCorrected /* typedWordValid */,
autoCorrectionAvailable /* hasMinimalSuggestion */, autoCorrectionAvailable /* hasMinimalSuggestion */,
allowsToBeAutoCorrected /* allowsToBeAutoCorrected */, allowsToBeAutoCorrected /* allowsToBeAutoCorrected */,
false /* isPunctuationSuggestions */, false /* isPunctuationSuggestions */,
shouldBlockAutoCorrectionBySatefyNet); shouldBlockAutoCorrectionBySatefyNet).build();
return builder;
} }
@Override @Override