aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorKeisuke Kuroynagi <ksk@google.com>2013-07-09 17:38:35 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2013-07-09 08:40:43 +0000
commitcfbb7fbd48125909ed61e58500e56b06afc12709 (patch)
treeb71bf080fd15dd921cb2f25d4a83a9be2496e135 /java/src
parent58b2a6372fd0404e27bbe137bbac18bbdf70e153 (diff)
downloadlatinime-cfbb7fbd48125909ed61e58500e56b06afc12709.tar.gz
latinime-cfbb7fbd48125909ed61e58500e56b06afc12709.tar.xz
latinime-cfbb7fbd48125909ed61e58500e56b06afc12709.zip
Fix: Read lock is wrongly used for gutSuggestions.
Bug: 9737865 Change-Id: I017f80b46c5dc48c40f2de7c4d516a042992feb4
Diffstat (limited to 'java/src')
-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;