aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorKeisuke Kuroynagi <ksk@google.com>2013-07-09 01:54:44 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-07-09 01:54:44 -0700
commit551091ef3976fe4c9ebd2eb2097399cbcd9f1277 (patch)
tree1963db224508b29bc7006761093fdc886d99a144 /java
parent8eddeffdafe74758d1a46e15e8fca1c6655f1bff (diff)
parentcfbb7fbd48125909ed61e58500e56b06afc12709 (diff)
downloadlatinime-551091ef3976fe4c9ebd2eb2097399cbcd9f1277.tar.gz
latinime-551091ef3976fe4c9ebd2eb2097399cbcd9f1277.tar.xz
latinime-551091ef3976fe4c9ebd2eb2097399cbcd9f1277.zip
am cfbb7fbd: Fix: Read lock is wrongly used for gutSuggestions.
* commit 'cfbb7fbd48125909ed61e58500e56b06afc12709': Fix: Read lock is wrongly used for gutSuggestions.
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index a563c7686..657fc64b4 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -196,7 +196,8 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
final String prevWord, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords) {
asyncReloadDictionaryIfRequired();
- if (mLocalDictionaryController.readLock().tryLock()) {
+ // Write lock because getSuggestions in native updates session status.
+ if (mLocalDictionaryController.writeLock().tryLock()) {
try {
final ArrayList<SuggestedWordInfo> inMemDictSuggestion =
mDictionaryWriter.getSuggestions(composer, prevWord, proximityInfo,
@@ -217,7 +218,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
return inMemDictSuggestion;
}
} finally {
- mLocalDictionaryController.readLock().unlock();
+ mLocalDictionaryController.writeLock().unlock();
}
}
return null;