aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-11-26 08:37:27 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-26 08:37:27 +0000
commit9ab179a14247a91110940c3fe27da4004e6b952f (patch)
tree1e637ebaae0cd4a79dd9851d7df7d806ee2d7699 /java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
parentadb4f0ed2099b46ca89c57bc56e3863a28d12982 (diff)
parente752aab70dc15c993a65d7db8314a72bb9e0f8b2 (diff)
downloadlatinime-9ab179a14247a91110940c3fe27da4004e6b952f.tar.gz
latinime-9ab179a14247a91110940c3fe27da4004e6b952f.tar.xz
latinime-9ab179a14247a91110940c3fe27da4004e6b952f.zip
am e752aab7: Use confidence to fix whitelist
* commit 'e752aab70dc15c993a65d7db8314a72bb9e0f8b2': Use confidence to fix whitelist
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryFacilitator.java')
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFacilitator.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
index 2ee4068b6..f2d7a8c3c 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
@@ -63,6 +63,9 @@ public class DictionaryFacilitator {
// HACK: This threshold is being used when adding a capitalized entry in the User History
// dictionary.
private static final int CAPITALIZED_FORM_MAX_PROBABILITY_FOR_INSERT = 140;
+ // How many words we need to type in a row ({@see mConfidenceInMostProbableLanguage}) to
+ // declare we are confident the user is typing in the most probable language.
+ private static final int CONFIDENCE_THRESHOLD = 3;
private DictionaryGroup[] mDictionaryGroups = new DictionaryGroup[] { new DictionaryGroup() };
private DictionaryGroup mMostProbableDictionaryGroup = mDictionaryGroups[0];
@@ -293,6 +296,14 @@ public class DictionaryFacilitator {
}
}
+ public boolean isConfidentAboutCurrentLanguageBeing(final Locale mLocale) {
+ final DictionaryGroup mostProbableDictionaryGroup = mMostProbableDictionaryGroup;
+ if (!mostProbableDictionaryGroup.mLocale.equals(mLocale)) {
+ return false;
+ }
+ return mostProbableDictionaryGroup.mConfidence >= CONFIDENCE_THRESHOLD;
+ }
+
@Nullable
private static ExpandableBinaryDictionary getSubDict(final String dictType,
final Context context, final Locale locale, final File dictFile,
@@ -634,7 +645,8 @@ public class DictionaryFacilitator {
final int timeStampInSeconds, final boolean blockPotentiallyOffensive) {
final ExpandableBinaryDictionary userHistoryDictionary =
dictionaryGroup.getSubDict(Dictionary.TYPE_USER_HISTORY);
- if (userHistoryDictionary == null) {
+ if (userHistoryDictionary == null
+ || !isConfidentAboutCurrentLanguageBeing(userHistoryDictionary.mLocale)) {
return;
}
final int maxFreq = getFrequency(word);