Merge "Support bigram suggestions in Android spell checker" into jb-dev
This commit is contained in:
commit
1e1235feeb
1 changed files with 28 additions and 1 deletions
|
@ -669,6 +669,28 @@ public class AndroidSpellCheckerService extends SpellCheckerService
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SuggestionsInfo[] onGetSuggestionsMultiple(TextInfo[] textInfos,
|
||||||
|
int suggestionsLimit, boolean sequentialWords) {
|
||||||
|
final int length = textInfos.length;
|
||||||
|
final SuggestionsInfo[] retval = new SuggestionsInfo[length];
|
||||||
|
for (int i = 0; i < length; ++i) {
|
||||||
|
final String prevWord;
|
||||||
|
if (sequentialWords && i > 0) {
|
||||||
|
final String prevWordCandidate = textInfos[i - 1].getText();
|
||||||
|
// Note that an empty string would be used to indicate the initial word
|
||||||
|
// in the future.
|
||||||
|
prevWord = TextUtils.isEmpty(prevWordCandidate) ? null : prevWordCandidate;
|
||||||
|
} else {
|
||||||
|
prevWord = null;
|
||||||
|
}
|
||||||
|
retval[i] = onGetSuggestions(textInfos[i], prevWord, suggestionsLimit);
|
||||||
|
retval[i].setCookieAndSequence(
|
||||||
|
textInfos[i].getCookie(), textInfos[i].getSequence());
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
// Note : this must be reentrant
|
// Note : this must be reentrant
|
||||||
/**
|
/**
|
||||||
* Gets a list of suggestions for a specific string. This returns a list of possible
|
* Gets a list of suggestions for a specific string. This returns a list of possible
|
||||||
|
@ -678,6 +700,11 @@ public class AndroidSpellCheckerService extends SpellCheckerService
|
||||||
@Override
|
@Override
|
||||||
public SuggestionsInfo onGetSuggestions(final TextInfo textInfo,
|
public SuggestionsInfo onGetSuggestions(final TextInfo textInfo,
|
||||||
final int suggestionsLimit) {
|
final int suggestionsLimit) {
|
||||||
|
return onGetSuggestions(textInfo, null, suggestionsLimit);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SuggestionsInfo onGetSuggestions(
|
||||||
|
final TextInfo textInfo, final String prevWord, final int suggestionsLimit) {
|
||||||
try {
|
try {
|
||||||
final String inText = textInfo.getText();
|
final String inText = textInfo.getText();
|
||||||
final SuggestionsParams cachedSuggestionsParams =
|
final SuggestionsParams cachedSuggestionsParams =
|
||||||
|
@ -732,7 +759,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService
|
||||||
try {
|
try {
|
||||||
dictInfo = mDictionaryPool.takeOrGetNull();
|
dictInfo = mDictionaryPool.takeOrGetNull();
|
||||||
if (null == dictInfo) return getNotInDictEmptySuggestions();
|
if (null == dictInfo) return getNotInDictEmptySuggestions();
|
||||||
dictInfo.mDictionary.getWords(composer, null, suggestionsGatherer,
|
dictInfo.mDictionary.getWords(composer, prevWord, suggestionsGatherer,
|
||||||
dictInfo.mProximityInfo);
|
dictInfo.mProximityInfo);
|
||||||
isInDict = dictInfo.mDictionary.isValidWord(text);
|
isInDict = dictInfo.mDictionary.isValidWord(text);
|
||||||
if (!isInDict && CAPITALIZE_NONE != capitalizeType) {
|
if (!isInDict && CAPITALIZE_NONE != capitalizeType) {
|
||||||
|
|
Loading…
Reference in a new issue