diff options
author | 2015-04-06 09:19:23 -0700 | |
---|---|---|
committer | 2015-04-06 11:10:55 -0700 | |
commit | ec2891b007ac6322bd66aedca217ad4e22b6a85b (patch) | |
tree | bdec1ddcd12fef482352aed2f38bfa3edbc6988b /java/src/com/android/inputmethod/latin/UserDictionaryLookup.java | |
parent | c79ed10cf74c464bc9d6a32135ccb50d99998daf (diff) | |
download | latinime-ec2891b007ac6322bd66aedca217ad4e22b6a85b.tar.gz latinime-ec2891b007ac6322bd66aedca217ad4e22b6a85b.tar.xz latinime-ec2891b007ac6322bd66aedca217ad4e22b6a85b.zip |
Define stats for UserDictionaryLookup.
Bug 20071513.
Change-Id: Iaab909575da29bfe6e17bb3865ce51d1e7720e7c
Diffstat (limited to 'java/src/com/android/inputmethod/latin/UserDictionaryLookup.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/UserDictionaryLookup.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/UserDictionaryLookup.java b/java/src/com/android/inputmethod/latin/UserDictionaryLookup.java index 2569723b0..1eed3d79c 100644 --- a/java/src/com/android/inputmethod/latin/UserDictionaryLookup.java +++ b/java/src/com/android/inputmethod/latin/UserDictionaryLookup.java @@ -33,6 +33,7 @@ import com.android.inputmethod.latin.utils.ExecutorUtils; import java.io.Closeable; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Locale; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.ScheduledFuture; @@ -186,6 +187,8 @@ public class UserDictionaryLookup implements Closeable { */ private volatile ScheduledFuture<?> mReloadFuture; + private volatile List<DictionaryStats> mDictionaryStats; + /** * @param context the context from which to obtain content resolver */ @@ -195,11 +198,18 @@ public class UserDictionaryLookup implements Closeable { Log.i(mTag, "create()"); mServiceName = serviceName; + mDictionaryStats = new ArrayList<DictionaryStats>(); + mDictionaryStats.add(new DictionaryStats(ANY_LOCALE, Dictionary.TYPE_USER, 0)); + mDictionaryStats.add(new DictionaryStats(ANY_LOCALE, Dictionary.TYPE_USER_SHORTCUT, 0)); // Obtain a content resolver. mResolver = context.getContentResolver(); } + public List<DictionaryStats> getDictionaryStats() { + return mDictionaryStats; + } + public void open() { Log.i(mTag, "open()"); @@ -506,6 +516,15 @@ public class UserDictionaryLookup implements Closeable { } } + List<DictionaryStats> stats = new ArrayList<>(); + stats.add(new DictionaryStats(ANY_LOCALE, Dictionary.TYPE_USER, dictWords.size())); + int numShortcuts = 0; + for (HashMap<String, String> shortcuts : shortcutsPerLocale.values()) { + numShortcuts += shortcuts.size(); + } + stats.add(new DictionaryStats(ANY_LOCALE, Dictionary.TYPE_USER_SHORTCUT, numShortcuts)); + mDictionaryStats = stats; + // Atomically replace the copy of mDictWords and mShortcuts. mDictWords = dictWords; mShortcutsPerLocale = shortcutsPerLocale; @@ -513,6 +532,7 @@ public class UserDictionaryLookup implements Closeable { // Allow other calls to loadUserDictionary to execute now. mIsLoading.set(false); - Log.i(mTag, "loadUserDictionary() : Loaded " + mDictWords.size() + " words"); + Log.i(mTag, "loadUserDictionary() : Loaded " + mDictWords.size() + + " words and " + numShortcuts + " shortcuts"); } } |