[IL114] Move a method to InputLogic
Bug: 8636060 Change-Id: I0d8f93985ddc6e93ce9af0d92a8056620351a498main
parent
5d8f6660bf
commit
e110018e2a
|
@ -1443,28 +1443,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
sequenceNumber, callback);
|
sequenceNumber, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO[IL]: Move this to InputLogic
|
|
||||||
public SuggestedWords maybeRetrieveOlderSuggestions(final String typedWord,
|
|
||||||
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
|
|
||||||
// replaced with the new one. However, when the length of the typed word is 1 or 0 (after
|
|
||||||
// a deletion typically), we do want to remove the old suggestions.
|
|
||||||
if (suggestedWords.size() > 1 || typedWord.length() <= 1) {
|
|
||||||
return suggestedWords;
|
|
||||||
} else {
|
|
||||||
final SuggestedWords oldSuggestedWords =
|
|
||||||
previousSuggestedWords.isPunctuationSuggestions() ? SuggestedWords.EMPTY
|
|
||||||
: previousSuggestedWords;
|
|
||||||
final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
|
|
||||||
SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords);
|
|
||||||
return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */,
|
|
||||||
false /* typedWordValid */, false /* hasAutoCorrectionCandidate */,
|
|
||||||
true /* isObsoleteSuggestions */, false /* isPrediction */);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showSuggestionStrip(final SuggestedWords sourceSuggestedWords) {
|
public void showSuggestionStrip(final SuggestedWords sourceSuggestedWords) {
|
||||||
final SuggestedWords suggestedWords =
|
final SuggestedWords suggestedWords =
|
||||||
|
|
|
@ -1229,9 +1229,8 @@ public final class InputLogic {
|
||||||
@Override
|
@Override
|
||||||
public void onGetSuggestedWords(final SuggestedWords suggestedWords) {
|
public void onGetSuggestedWords(final SuggestedWords suggestedWords) {
|
||||||
final SuggestedWords suggestedWordsWithMaybeOlderSuggestions =
|
final SuggestedWords suggestedWordsWithMaybeOlderSuggestions =
|
||||||
mLatinIME.maybeRetrieveOlderSuggestions(
|
maybeRetrieveOlderSuggestions(mWordComposer.getTypedWord(),
|
||||||
mWordComposer.getTypedWord(), suggestedWords,
|
suggestedWords, mSuggestedWords);
|
||||||
mSuggestedWords);
|
|
||||||
holder.set(suggestedWordsWithMaybeOlderSuggestions);
|
holder.set(suggestedWordsWithMaybeOlderSuggestions);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1656,6 +1655,35 @@ public final class InputLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given a typed word and computed suggested words, return an object that may or may not
|
||||||
|
* contain older suggestions according to the contents of the current suggestions.
|
||||||
|
* @param typedWord The typed word as a string.
|
||||||
|
* @param suggestedWords The computed suggested words for this typed word.
|
||||||
|
* @param previousSuggestedWords The previous suggested words.
|
||||||
|
* @return suggestions possibly enriched with older suggestions.
|
||||||
|
*/
|
||||||
|
private SuggestedWords maybeRetrieveOlderSuggestions(final String typedWord,
|
||||||
|
final SuggestedWords suggestedWords, final SuggestedWords previousSuggestedWords) {
|
||||||
|
// TODO: consolidate this into performUpdateSuggestionStripSync?
|
||||||
|
// 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
|
||||||
|
// replaced with the new one. However, when the length of the typed word is 1 or 0 (after
|
||||||
|
// a deletion typically), we do want to remove the old suggestions.
|
||||||
|
if (suggestedWords.size() > 1 || typedWord.length() <= 1) {
|
||||||
|
return suggestedWords;
|
||||||
|
} else {
|
||||||
|
final SuggestedWords oldSuggestedWords =
|
||||||
|
previousSuggestedWords.isPunctuationSuggestions() ? SuggestedWords.EMPTY
|
||||||
|
: previousSuggestedWords;
|
||||||
|
final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
|
||||||
|
SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords);
|
||||||
|
return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */,
|
||||||
|
false /* typedWordValid */, false /* hasAutoCorrectionCandidate */,
|
||||||
|
true /* isObsoleteSuggestions */, false /* isPrediction */);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a chunk of text with or the auto-correction indicator underline span as appropriate.
|
* Gets a chunk of text with or the auto-correction indicator underline span as appropriate.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue