Refactor logic to retrieve relevant suggestions a bit
Change-Id: Ic7d2cbb2c1b2deaa4e735484bdc7413c0b3b1939
This commit is contained in:
parent
3f3b0af5b7
commit
3033cc51b8
2 changed files with 18 additions and 23 deletions
|
@ -1407,7 +1407,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
|
||||
// TODO[IL]: Move this to InputLogic
|
||||
public SuggestedWords maybeRetrieveOlderSuggestions(final String typedWord,
|
||||
final SuggestedWords suggestedWords) {
|
||||
final SuggestedWords suggestedWords, final SuggestedWords previousSuggestedWords) {
|
||||
// TODO: consolidate this into getSuggestedWords
|
||||
// We update the suggestion strip only when we have some suggestions to show, i.e. when
|
||||
// the suggestion count is > 1; else, we leave the old suggestions, with the typed word
|
||||
|
@ -1420,30 +1420,24 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
|| mSuggestionStripView.isShowingAddToDictionaryHint()) {
|
||||
return suggestedWords;
|
||||
} else {
|
||||
return getOlderSuggestions(typedWord);
|
||||
final SuggestedWords punctuationList =
|
||||
mSettings.getCurrent().mSpacingAndPunctuations.mSuggestPuncList;
|
||||
final SuggestedWords oldSuggestedWords = previousSuggestedWords == punctuationList
|
||||
? SuggestedWords.EMPTY : previousSuggestedWords;
|
||||
if (TextUtils.isEmpty(typedWord)) {
|
||||
return oldSuggestedWords;
|
||||
}
|
||||
final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
|
||||
SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords);
|
||||
return new SuggestedWords(typedWordAndPreviousSuggestions,
|
||||
false /* typedWordValid */,
|
||||
false /* hasAutoCorrectionCandidate */,
|
||||
false /* isPunctuationSuggestions */,
|
||||
true /* isObsoleteSuggestions */,
|
||||
false /* isPrediction */);
|
||||
}
|
||||
}
|
||||
|
||||
private SuggestedWords getOlderSuggestions(final String typedWord) {
|
||||
SuggestedWords previousSuggestedWords = mInputLogic.mSuggestedWords;
|
||||
if (previousSuggestedWords
|
||||
== mSettings.getCurrent().mSpacingAndPunctuations.mSuggestPuncList) {
|
||||
previousSuggestedWords = SuggestedWords.EMPTY;
|
||||
}
|
||||
if (typedWord == null) {
|
||||
return previousSuggestedWords;
|
||||
}
|
||||
final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
|
||||
SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord,
|
||||
previousSuggestedWords);
|
||||
return new SuggestedWords(typedWordAndPreviousSuggestions,
|
||||
false /* typedWordValid */,
|
||||
false /* hasAutoCorrectionCandidate */,
|
||||
false /* isPunctuationSuggestions */,
|
||||
true /* isObsoleteSuggestions */,
|
||||
false /* isPrediction */);
|
||||
}
|
||||
|
||||
private void showSuggestionStripWithTypedWord(final SuggestedWords suggestedWords,
|
||||
final String typedWord) {
|
||||
if (suggestedWords.isEmpty()) {
|
||||
|
|
|
@ -1031,7 +1031,8 @@ public final class InputLogic {
|
|||
public void onGetSuggestedWords(final SuggestedWords suggestedWords) {
|
||||
final SuggestedWords suggestedWordsWithMaybeOlderSuggestions =
|
||||
mLatinIME.maybeRetrieveOlderSuggestions(
|
||||
mWordComposer.getTypedWord(), suggestedWords);
|
||||
mWordComposer.getTypedWord(), suggestedWords,
|
||||
mSuggestedWords);
|
||||
holder.set(suggestedWordsWithMaybeOlderSuggestions);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue