Fix possible NPE from a concurrent problem in LatinIME

Bug: 6620746
Change-Id: Icc18de92d7edc6888c712c2cf5ce479a65f8bfad
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3456ce9..8c244d6 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1971,7 +1971,8 @@
         // want corrections enabled or learned.
         if (!mCurrentSettings.isCorrectionOn()) return null;
 
-        if (mUserHistoryDictionary != null) {
+        final UserHistoryDictionary userHistoryDictionary = mUserHistoryDictionary;
+        if (userHistoryDictionary != null) {
             final CharSequence prevWord
                     = mConnection.getPreviousWord(mCurrentSettings.mWordSeparators);
             final String secondWord;
@@ -1986,7 +1987,7 @@
             final int maxFreq = AutoCorrection.getMaxFrequency(
                     mSuggest.getUnigramDictionaries(), suggestion);
             if (maxFreq == 0) return null;
-            mUserHistoryDictionary.addToUserHistory(null == prevWord ? null : prevWord.toString(),
+            userHistoryDictionary.addToUserHistory(null == prevWord ? null : prevWord.toString(),
                     secondWord, maxFreq > 0);
             return prevWord;
         }