Some more simplification

I wish "are we autocorrecting?" was not computed in a dozen
places all depending on a hundred code paths
More than likely, this fixes very subtle discrepancies
between auto-correction indicator with the underline and with
the LED on the spacebar - which is not displayed any more in
the current version anyway. Especially, the LED probably
would have been off when the word was caught by the safety net.

Change-Id: Idda3021771081d6155b06915e728ecd64d9e042e
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 211b69a..98bdef6 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -980,8 +980,9 @@
                     .setHasMinimalSuggestion(false);
             // When in fullscreen mode, show completions generated by the application
             final SuggestedWords words = builder.build();
-            setSuggestions(words);
-            setAutoCorrectionIndicator(Utils.willAutoCorrect(words));
+            final boolean isAutoCorrection = Utils.willAutoCorrect(words);
+            setSuggestions(words, isAutoCorrection);
+            setAutoCorrectionIndicator(isAutoCorrection);
             // TODO: is this the right thing to do? What should we auto-correct to in
             // this case? This says to keep whatever the user typed.
             mWordComposer.setAutoCorrection(mWordComposer.getTypedWord());
@@ -1714,15 +1715,14 @@
     }
 
     public void clearSuggestions() {
-        setSuggestions(SuggestedWords.EMPTY);
+        setSuggestions(SuggestedWords.EMPTY, false);
         setAutoCorrectionIndicator(false);
     }
 
-    public void setSuggestions(final SuggestedWords words) {
+    public void setSuggestions(final SuggestedWords words, final boolean isAutoCorrection) {
         if (mSuggestionsView != null) {
             mSuggestionsView.setSuggestions(words);
-            mKeyboardSwitcher.onAutoCorrectionStateChanged(
-                    words.hasWordAboveAutoCorrectionScoreThreshold());
+            mKeyboardSwitcher.onAutoCorrectionStateChanged(isAutoCorrection);
         }
     }
 
@@ -1851,8 +1851,9 @@
             autoCorrection = null;
         }
         mWordComposer.setAutoCorrection(autoCorrection);
-        setSuggestions(suggestedWords);
-        setAutoCorrectionIndicator(Utils.willAutoCorrect(suggestedWords));
+        final boolean isAutoCorrection = Utils.willAutoCorrect(suggestedWords);
+        setSuggestions(suggestedWords, isAutoCorrection);
+        setAutoCorrectionIndicator(isAutoCorrection);
         setSuggestionStripShown(isSuggestionsStripVisible());
     }
 
@@ -2025,7 +2026,7 @@
     }
 
     public void setPunctuationSuggestions() {
-        setSuggestions(mSettingsValues.mSuggestPuncList);
+        setSuggestions(mSettingsValues.mSuggestPuncList, false);
         setAutoCorrectionIndicator(false);
         setSuggestionStripShown(isSuggestionsStripVisible());
     }