Reduction, step 7

Change-Id: I177ef2f29c8b6000c5e3d021c016c5d216fe3fc6
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 2ddb53f..439f125 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -2034,12 +2034,16 @@
             return;
         }
 
-        final CharSequence prevWord = EditingUtils.getThisWord(getCurrentInputConnection(),
-                mSettingsValues.mWordSeparators);
-        SuggestedWords.Builder builder = mSuggest.getBigramPredictionWordBuilder(prevWord,
-                mCorrectionMode);
+        final SuggestedWords.Builder builder;
+        if (mCorrectionMode == Suggest.CORRECTION_FULL_BIGRAM) {
+            final CharSequence prevWord = EditingUtils.getThisWord(getCurrentInputConnection(),
+                    mSettingsValues.mWordSeparators);
+            builder = mSuggest.getBigramPredictionWordBuilder(prevWord);
+        } else {
+            builder = null;
+        }
 
-        if (builder.size() > 0) {
+        if (null == builder || builder.size() > 0) {
             // Explicitly supply an empty typed word (the no-second-arg version of
             // showSuggestions will retrieve the word near the cursor, we don't want that here)
             showSuggestions(builder.build(), "");
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 1150161..b8ec5ff 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -261,8 +261,7 @@
     }
 
     private static final WordComposer sEmptyWordComposer = new WordComposer();
-    public SuggestedWords.Builder getBigramPredictionWordBuilder(CharSequence prevWordForBigram,
-            final int correctionMode) {
+    public SuggestedWords.Builder getBigramPredictionWordBuilder(CharSequence prevWordForBigram) {
         LatinImeLogger.onStartSuggestion(prevWordForBigram);
         mIsFirstCharCapitalized = false;
         mIsAllUpperCase = false;
@@ -274,26 +273,23 @@
         LatinImeLogger.onAddSuggestedWord("", Suggest.DIC_USER_TYPED, Dictionary.UNIGRAM);
         mConsideredWord = "";
 
-        // Note that if correctionMode != CORRECTION_FULL_BIGRAM, we'll always return the
-        // same empty SuggestedWords.Builder, which has size() == 0
-        if (correctionMode == CORRECTION_FULL_BIGRAM) {
-            // At first character typed, search only the bigrams
-            Arrays.fill(mBigramScores, 0);
-            collectGarbage(mBigramSuggestions, PREF_MAX_BIGRAMS);
+        Arrays.fill(mBigramScores, 0);
+        collectGarbage(mBigramSuggestions, PREF_MAX_BIGRAMS);
 
-            if (!TextUtils.isEmpty(prevWordForBigram)) {
-                CharSequence lowerPrevWord = prevWordForBigram.toString().toLowerCase();
-                if (mMainDict != null && mMainDict.isValidWord(lowerPrevWord)) {
-                    prevWordForBigram = lowerPrevWord;
-                }
-                for (final Dictionary dictionary : mBigramDictionaries.values()) {
-                    dictionary.getBigrams(sEmptyWordComposer, prevWordForBigram, this);
-                }
-                // Nothing entered: return all bigrams for the previous word
-                int insertCount = Math.min(mBigramSuggestions.size(), mPrefMaxSuggestions);
-                for (int i = 0; i < insertCount; ++i) {
-                    addBigramToSuggestions(mBigramSuggestions.get(i));
-                }
+        // Note that if prevWordForBigram is empty, we'll always return the same empty
+        // SuggestedWords.Builder
+        if (!TextUtils.isEmpty(prevWordForBigram)) {
+            CharSequence lowerPrevWord = prevWordForBigram.toString().toLowerCase();
+            if (mMainDict != null && mMainDict.isValidWord(lowerPrevWord)) {
+                prevWordForBigram = lowerPrevWord;
+            }
+            for (final Dictionary dictionary : mBigramDictionaries.values()) {
+                dictionary.getBigrams(sEmptyWordComposer, prevWordForBigram, this);
+            }
+            // Nothing entered: return all bigrams for the previous word
+            int insertCount = Math.min(mBigramSuggestions.size(), mPrefMaxSuggestions);
+            for (int i = 0; i < insertCount; ++i) {
+                addBigramToSuggestions(mBigramSuggestions.get(i));
             }
         }