diff options
author | 2014-03-28 12:17:44 +0900 | |
---|---|---|
committer | 2014-03-28 12:17:44 +0900 | |
commit | 30cd0cd2a034f7323f71654df3aaad3abd8ca3a3 (patch) | |
tree | 3afee95a49a6c85dd16dcb3e69785a75cbc1696a /java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | |
parent | 618a949f9dd751236b4d74d293ca401002bad59d (diff) | |
download | latinime-30cd0cd2a034f7323f71654df3aaad3abd8ca3a3.tar.gz latinime-30cd0cd2a034f7323f71654df3aaad3abd8ca3a3.tar.xz latinime-30cd0cd2a034f7323f71654df3aaad3abd8ca3a3.zip |
Fix: NPE after onDestroy().
Bug: 13671513
Change-Id: I06aa14870ff5422ad514356ee406600b247858c5
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java index 7847738e0..3c1015926 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -269,6 +269,9 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { } private void runGCAfterAllPrioritizedTasksIfRequiredLocked(final boolean mindsBlockByGC) { + if (mBinaryDictionary == null) { + return; + } // needsToRunGC() have to be called with lock. if (mBinaryDictionary.needsToRunGC(mindsBlockByGC)) { if (setProcessingLargeTaskIfNot()) { @@ -357,6 +360,9 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { public void run() { final boolean locked = setProcessingLargeTaskIfNot(); try { + if (mBinaryDictionary == null) { + return; + } mBinaryDictionary.addMultipleDictionaryEntries( languageModelParams.toArray( new LanguageModelParam[languageModelParams.size()])); @@ -496,6 +502,9 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { } private void flushDictionaryLocked() { + if (mBinaryDictionary == null) { + return; + } if (mBinaryDictionary.needsToRunGC(false /* mindsBlockByGC */)) { mBinaryDictionary.flushWithGC(); } else { |