diff options
author | 2014-06-20 14:46:13 +0900 | |
---|---|---|
committer | 2014-06-20 14:46:13 +0900 | |
commit | 0fbca1ac2388db81a443c1705732130564c3f714 (patch) | |
tree | 3ed5ba0907866d7d03d7d2c1846bd90f321758f3 /java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | |
parent | 4c45fff2404b274cf6345221412671a81f0dba46 (diff) | |
download | latinime-0fbca1ac2388db81a443c1705732130564c3f714.tar.gz latinime-0fbca1ac2388db81a443c1705732130564c3f714.tar.xz latinime-0fbca1ac2388db81a443c1705732130564c3f714.zip |
Remove word from personalized dicts when it's canceled.
Bug: 15555552
Bug: 15552347
Change-Id: Ia4d8c79d079e3ce233d46d4bbad4fff1be5c5c39
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java index b1966bffc..918b610e5 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -311,6 +311,27 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { } /** + * Dynamically remove the unigram entry from the dictionary. + */ + public void removeUnigramEntryDynamically(final String word) { + reloadDictionaryIfRequired(); + asyncExecuteTaskWithWriteLock(new Runnable() { + @Override + public void run() { + if (mBinaryDictionary == null) { + return; + } + runGCIfRequiredLocked(true /* mindsBlockByGC */); + if (!mBinaryDictionary.removeUnigramEntry(word)) { + if (DEBUG) { + Log.i(TAG, "Cannot remove unigram entry: " + word); + } + } + } + }); + } + + /** * Adds n-gram information of a word to the dictionary. May overwrite an existing entry. */ public void addNgramEntry(final PrevWordsInfo prevWordsInfo, final String word, |