diff options
author | 2013-08-19 20:40:27 -0700 | |
---|---|---|
committer | 2013-08-19 20:40:27 -0700 | |
commit | bff4d2443238dcb5dbc123a1ce11220acd19271d (patch) | |
tree | 16656a4e02afe79fd71e8c4dbe5da8cc802896b0 /java | |
parent | 72dd5dd27141d21be8a4ba100e7f183e39b64b46 (diff) | |
parent | 22f01a42fcd91dae2a4e723e2477a480a11daa8e (diff) | |
download | latinime-bff4d2443238dcb5dbc123a1ce11220acd19271d.tar.gz latinime-bff4d2443238dcb5dbc123a1ce11220acd19271d.tar.xz latinime-bff4d2443238dcb5dbc123a1ce11220acd19271d.zip |
am 22f01a42: Add a functionality to clear and flush prediction dictionary
* commit '22f01a42fcd91dae2a4e723e2477a480a11daa8e':
Add a functionality to clear and flush prediction dictionary
Diffstat (limited to 'java')
2 files changed, 21 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java b/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java index 916be4481..8160501a9 100644 --- a/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java +++ b/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java @@ -411,4 +411,18 @@ public abstract class DynamicPredictionDictionaryBase extends ExpandableDictiona public void unRegisterUpdateSession(PersonalizationDictionaryUpdateSession session) { mSessions.remove(session); } + + public void clearAndFlushDictionary() { + // Clear the node structure on memory + clearDictionary(); + mBigramListLock.lock(); + try { + // Clear the bigram list on memory + mBigramList.evictAll(); + } finally { + mBigramListLock.unlock(); + } + // Then flush the cleared state of the dictionary on disk. + flushPendingWrites(); + } } diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java index 433c69c1c..77f0cdbfa 100644 --- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java +++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java @@ -69,6 +69,13 @@ public abstract class PersonalizationDictionaryUpdateSession { dictionary.unRegisterUpdateSession(this); } + public void clearAndFlushPredictionDictionary(Context context) { + final DynamicPredictionDictionaryBase dictionary = getPredictionDictionary(); + if (dictionary == null) { + return; + } + dictionary.clearAndFlushDictionary(); + } public void closeSession(Context context) { unsetPredictionDictionary(); |