diff options
author | 2014-03-28 12:17:44 +0900 | |
---|---|---|
committer | 2014-03-28 14:43:05 -0700 | |
commit | a93ea26f3d6bb915dfaea607715d7d34f1b80fe3 (patch) | |
tree | a905f59b20ab0746a9c639ea72ba6816a329de0e /java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | |
parent | 2d9642e33e4aad69aa7118763a9af968bbb28cf8 (diff) | |
download | latinime-a93ea26f3d6bb915dfaea607715d7d34f1b80fe3.tar.gz latinime-a93ea26f3d6bb915dfaea607715d7d34f1b80fe3.tar.xz latinime-a93ea26f3d6bb915dfaea607715d7d34f1b80fe3.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 { |