Fix: NPE when initializing AOSP keyboard.
Bug: 15677822
Change-Id: Ibebb215a08795482c0f1eef965db06af57558906
diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java
index 07bcf98..c97a0d2 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java
+++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java
@@ -23,11 +23,14 @@
import com.android.inputmethod.latin.DictionaryFacilitator;
public class PersonalizationDictionaryUpdater {
+ final Context mContext;
+ final DictionaryFacilitator mDictionaryFacilitator;
+ boolean mDictCleared = false;
+
public PersonalizationDictionaryUpdater(final Context context,
final DictionaryFacilitator dictionaryFacilitator) {
- // Clear and never update the personalization dictionary.
- PersonalizationHelper.removeAllPersonalizationDictionaries(context);
- dictionaryFacilitator.clearPersonalizationDictionary();
+ mContext = context;
+ mDictionaryFacilitator = dictionaryFacilitator;
}
public Locale getLocale() {
@@ -36,6 +39,12 @@
public void onLoadSettings(final boolean usePersonalizedDicts,
final boolean isSystemLocaleSameAsLocaleOfAllEnabledSubtypesOfEnabledImes) {
+ if (!mDictCleared) {
+ // Clear and never update the personalization dictionary.
+ PersonalizationHelper.removeAllPersonalizationDictionaries(mContext);
+ mDictionaryFacilitator.clearPersonalizationDictionary();
+ mDictCleared = true;
+ }
}
public void onDestroy() {