diff options
author | 2013-09-27 11:13:22 +0900 | |
---|---|---|
committer | 2013-09-29 11:41:13 +0900 | |
commit | ceb364c0411dbcb38f2bd94f1d2b54eef3b985c1 (patch) | |
tree | 77f2ddf49d14d458dc9f9e726ec14381204109df /java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java | |
parent | ef63947f7d10bcbb3237661ad480b430d4208833 (diff) | |
download | latinime-ceb364c0411dbcb38f2bd94f1d2b54eef3b985c1.tar.gz latinime-ceb364c0411dbcb38f2bd94f1d2b54eef3b985c1.tar.xz latinime-ceb364c0411dbcb38f2bd94f1d2b54eef3b985c1.zip |
Fix PrioritizedSerialExecutor.
It was possible that fetchNextTasks() would be called by multiple
threads concurrently.
If it happens, some tasks in the task queues might be ignored.
cherrypick of Idc81c43c45e382da3850cc55b9a42c281548d2a8
bug: 10957075
Change-Id: I41bf90dda15306ee879350f96a791d940ea31da1
Diffstat (limited to 'java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java b/java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java index 0af028a9e..305088536 100644 --- a/java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java +++ b/java/src/com/android/inputmethod/latin/personalization/DynamicPersonalizationDictionaryWriter.java @@ -79,7 +79,7 @@ public class DynamicPersonalizationDictionaryWriter extends AbstractDictionaryWr public void addUnigramWord(final String word, final String shortcutTarget, final int frequency, final boolean isNotAWord) { if (mBigramList.size() > mMaxHistoryBigrams * 2) { - // Too many entries: just stop adding new vocabrary and wait next refresh. + // Too many entries: just stop adding new vocabulary and wait next refresh. return; } mExpandableDictionary.addWord(word, shortcutTarget, frequency); @@ -90,7 +90,7 @@ public class DynamicPersonalizationDictionaryWriter extends AbstractDictionaryWr public void addBigramWords(final String word0, final String word1, final int frequency, final boolean isValid, final long lastModifiedTime) { if (mBigramList.size() > mMaxHistoryBigrams * 2) { - // Too many entries: just stop adding new vocabrary and wait next refresh. + // Too many entries: just stop adding new vocabulary and wait next refresh. return; } if (lastModifiedTime > 0) { @@ -176,8 +176,8 @@ public class DynamicPersonalizationDictionaryWriter extends AbstractDictionaryWr } @UsedForTesting - public boolean isInDictionaryForTests(final String word) { + public boolean isInBigramListForTests(final String word) { // TODO: Use native method to determine whether the word is in dictionary or not - return mBigramList.containsKey(word); + return mBigramList.containsKey(word) || mBigramList.getBigrams(null).containsKey(word); } } |