aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java9
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java3
2 files changed, 11 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index 5e36d9703..621eb2dfa 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -460,6 +460,7 @@ public final class BinaryDictionary extends Dictionary {
dictFile.length(), mIsUpdatable);
}
+ // Flush to dict file if the dictionary has been updated.
public void flush() {
if (!isValidDictionary()) return;
if (mHasUpdated) {
@@ -468,6 +469,14 @@ public final class BinaryDictionary extends Dictionary {
}
}
+ // Run GC and flush to dict file if the dictionary has been updated.
+ public void flushWithGCIfHasUpdated() {
+ if (mHasUpdated) {
+ flushWithGC();
+ }
+ }
+
+ // Run GC and flush to dict file.
public void flushWithGC() {
if (!isValidDictionary()) return;
flushWithGCNative(mNativeDict, mDictFilePath);
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index 64e9d2b51..a6a735414 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -515,7 +515,8 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
createBinaryDictionaryLocked();
openBinaryDictionaryLocked();
loadInitialContentsLocked();
- mBinaryDictionary.flushWithGC();
+ // Run GC and flush to file when initial contents have been loaded.
+ mBinaryDictionary.flushWithGCIfHasUpdated();
}
private void flushDictionaryLocked() {