Add a method for handling for words not found in dictionary.

This is apparently called only once for every unique word, so repeated instances
of the same word are not handled separately. Upon changing orientation of the
device, however, all invalid words in the textbox are underlined again and this
method is called for each unique instance in order.

Change-Id: Ic57e4b9e5675bd7abd723644aa318d964f7f875f
This commit is contained in:
Chieu Nguyen 2015-01-13 13:16:23 -08:00
parent da27faeb87
commit 2e8d536678
2 changed files with 13 additions and 0 deletions

View File

@ -83,4 +83,7 @@ public final class StatsUtils {
public static void onLoadSettings(SettingsValues settingsValues) {
}
public static void onInvalidWordIdentification(final String invalidWord) {
}
}

View File

@ -39,6 +39,7 @@ import com.android.inputmethod.latin.common.LocaleUtils;
import com.android.inputmethod.latin.common.StringUtils;
import com.android.inputmethod.latin.utils.BinaryDictionaryUtils;
import com.android.inputmethod.latin.utils.ScriptUtils;
import com.android.inputmethod.latin.utils.StatsUtils;
import com.android.inputmethod.latin.utils.SuggestionResults;
import java.util.ArrayList;
@ -297,6 +298,15 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
}
}
}
// Handle word not in dictionary.
// This is called only once per unique word, so entering multiple
// instances of the same word does not result in more than one call
// to this method.
// Also, upon changing the orientation of the device, this is called
// again for every unique invalid word in the text box.
if (!isInDict) {
StatsUtils.onInvalidWordIdentification(text);
}
final int flags =
(isInDict ? SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY