am a9dd74cf
: refactor spell checker
* commit 'a9dd74cf3f47f55a6fe33ef7d54c0ac7cb2ae4c7': refactor spell checker
This commit is contained in:
commit
1e7c067770
1 changed files with 14 additions and 14 deletions
|
@ -283,20 +283,6 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
|
||||||
//suggestionsLimit);
|
//suggestionsLimit);
|
||||||
final SuggestionsGatherer suggestionsGatherer = mService.newSuggestionsGatherer(
|
final SuggestionsGatherer suggestionsGatherer = mService.newSuggestionsGatherer(
|
||||||
text, suggestionsLimit);
|
text, suggestionsLimit);
|
||||||
final WordComposer composer = new WordComposer();
|
|
||||||
final int length = text.length();
|
|
||||||
for (int i = 0; i < length; i = text.offsetByCodePoints(i, 1)) {
|
|
||||||
final int codePoint = text.codePointAt(i);
|
|
||||||
// The getXYForCodePointAndScript method returns (Y << 16) + X
|
|
||||||
final int xy = SpellCheckerProximityInfo.getXYForCodePointAndScript(
|
|
||||||
codePoint, mScript);
|
|
||||||
if (SpellCheckerProximityInfo.NOT_A_COORDINATE_PAIR == xy) {
|
|
||||||
composer.add(codePoint,
|
|
||||||
Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
|
|
||||||
} else {
|
|
||||||
composer.add(codePoint, xy & 0xFFFF, xy >> 16);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final int capitalizeType = StringUtils.getCapitalizationType(text);
|
final int capitalizeType = StringUtils.getCapitalizationType(text);
|
||||||
boolean isInDict = true;
|
boolean isInDict = true;
|
||||||
|
@ -306,6 +292,20 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
|
||||||
if (!DictionaryPool.isAValidDictionary(dictInfo)) {
|
if (!DictionaryPool.isAValidDictionary(dictInfo)) {
|
||||||
return AndroidSpellCheckerService.getNotInDictEmptySuggestions();
|
return AndroidSpellCheckerService.getNotInDictEmptySuggestions();
|
||||||
}
|
}
|
||||||
|
final WordComposer composer = new WordComposer();
|
||||||
|
final int length = text.length();
|
||||||
|
for (int i = 0; i < length; i = text.offsetByCodePoints(i, 1)) {
|
||||||
|
final int codePoint = text.codePointAt(i);
|
||||||
|
// The getXYForCodePointAndScript method returns (Y << 16) + X
|
||||||
|
final int xy = SpellCheckerProximityInfo.getXYForCodePointAndScript(
|
||||||
|
codePoint, mScript);
|
||||||
|
if (SpellCheckerProximityInfo.NOT_A_COORDINATE_PAIR == xy) {
|
||||||
|
composer.add(codePoint,
|
||||||
|
Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
|
||||||
|
} else {
|
||||||
|
composer.add(codePoint, xy & 0xFFFF, xy >> 16);
|
||||||
|
}
|
||||||
|
}
|
||||||
// TODO: make a spell checker option to block offensive words or not
|
// TODO: make a spell checker option to block offensive words or not
|
||||||
final ArrayList<SuggestedWordInfo> suggestions =
|
final ArrayList<SuggestedWordInfo> suggestions =
|
||||||
dictInfo.mDictionary.getSuggestions(composer, prevWord,
|
dictInfo.mDictionary.getSuggestions(composer, prevWord,
|
||||||
|
|
Loading…
Reference in a new issue