From 1a6d01b61e2caa8340e3a52e5d941c86d59d31c8 Mon Sep 17 00:00:00 2001 From: Mario Tanev Date: Tue, 24 Feb 2015 15:56:43 -0800 Subject: [PATCH] Don't call resetDictionaries if DictionaryFacilitatorLruCache.get() hasn't been called yet. This breaks the AOSP SpellChecker. This seems to be a bug introduced recently, when the DictionaryFacilitatorLruCache was turned into a "cache" of 1 element. Change-Id: I55f6c18b274c9a33fd62cb25bcd02f64788d5ff0 --- .../latin/DictionaryFacilitatorLruCache.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java index b813af4c2..1b3e9ca72 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java @@ -64,11 +64,14 @@ public class DictionaryFacilitatorLruCache { } private void resetDictionariesForLocaleLocked() { - // Note: Given that personalized dictionaries are not used here; we can pass null account. - mDictionaryFacilitator.resetDictionaries(mContext, new Locale[]{mLocale}, - mUseContactsDictionary, false /* usePersonalizedDicts */, - false /* forceReloadMainDictionary */, null /* account */, - mDictionaryNamePrefix, null /* listener */); + // Nothing to do if the locale is null. This would be the case before any get() calls. + if (mLocale != null) { + // Note: Given that personalized dictionaries are not used here; we can pass null account. + mDictionaryFacilitator.resetDictionaries(mContext, new Locale[]{mLocale}, + mUseContactsDictionary, false /* usePersonalizedDicts */, + false /* forceReloadMainDictionary */, null /* account */, + mDictionaryNamePrefix, null /* listener */); + } } public void setUseContactsDictionary(final boolean useContactsDictionary) {