Merge "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."
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java
index b813af4..1b3e9ca 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCache.java
@@ -64,11 +64,14 @@
     }
 
     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) {