Fix NPE

Bug: 4686479
Change-Id: I0b8a32d0f9bcebe55eebecd38dc5e69198e94378
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 50c61ff..af22208 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -782,11 +782,15 @@
     }
 
     public void onAutoCorrectionStateChanged(boolean isAutoCorrection) {
-        if (isAutoCorrection != mIsAutoCorrectionActive) {
-            LatinKeyboardView keyboardView = getKeyboardView();
+        if (mIsAutoCorrectionActive != isAutoCorrection) {
             mIsAutoCorrectionActive = isAutoCorrection;
-            keyboardView.invalidateKey(((LatinKeyboard) keyboardView.getKeyboard())
-                    .onAutoCorrectionStateChanged(isAutoCorrection));
+            final LatinKeyboard keyboard = getLatinKeyboard();
+            if (keyboard != null && keyboard.needsAutoCorrectionSpacebarLed()) {
+                final Key invalidatedKey = keyboard.onAutoCorrectionStateChanged(isAutoCorrection);
+                final LatinKeyboardView keyboardView = getKeyboardView();
+                if (keyboardView != null)
+                    keyboardView.invalidateKey(invalidatedKey);
+            }
         }
     }
 
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index fc01d39..7446aff 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1459,16 +1459,10 @@
     }
 
     public void setSuggestions(SuggestedWords words) {
-//        if (mVoiceProxy.getAndResetIsShowingHint()) {
-//             setCandidatesView(mCandidateViewContainer);
-//        }
-
         if (mCandidateView != null) {
             mCandidateView.setSuggestions(words);
-            if (mKeyboardSwitcher.getLatinKeyboard().needsAutoCorrectionSpacebarLed()) {
-                mKeyboardSwitcher.onAutoCorrectionStateChanged(
-                        words.hasWordAboveAutoCorrectionScoreThreshold());
-            }
+            mKeyboardSwitcher.onAutoCorrectionStateChanged(
+                    words.hasWordAboveAutoCorrectionScoreThreshold());
         }
     }