aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2013-10-25 17:12:15 -0700
committerSatoshi Kataoka <satok@google.com>2013-10-28 11:25:38 -0700
commitba212e9d76b021dfb99239e55f860693dac6723b (patch)
treed1c4679f695fae8c90c0907c0c8a7d3295b52f1f /java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
parent45d5d1e589771b68c4bc635e81b184bc52d65d36 (diff)
downloadlatinime-ba212e9d76b021dfb99239e55f860693dac6723b.tar.gz
latinime-ba212e9d76b021dfb99239e55f860693dac6723b.tar.xz
latinime-ba212e9d76b021dfb99239e55f860693dac6723b.zip
Add a facility to dump the dictionary contents while closing
Change-Id: I02e920e0512f2b46a778f0b23f7ca03f8d5dabe6
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java')
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index eb8650e6f..710c3eaac 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -55,7 +55,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
// TODO: Remove.
/** Whether to call binary dictionary dynamically updating methods. */
- public static boolean ENABLE_BINARY_DICTIONARY_DYNAMIC_UPDATE = true;
+ public static final boolean ENABLE_BINARY_DICTIONARY_DYNAMIC_UPDATE = true;
private static final int TIMEOUT_FOR_READ_OPS_IN_MILLISECONDS = 100;
@@ -733,4 +733,19 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
public boolean isTerminatedForTests() {
return getExecutor(mFilename).isTerminated();
}
+
+ @UsedForTesting
+ protected void runAfterGcForDebug(final Runnable r) {
+ getExecutor(mFilename).executePrioritized(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ mBinaryDictionary.flushWithGC();
+ r.run();
+ } finally {
+ mFilenameDictionaryUpdateController.mIsRegenerating.set(false);
+ }
+ }
+ });
+ }
}