Separate updateSuggestionStrip from commitTyped

The commitTyped() called updateSuggestionStrip(), and that led to call
Suggest.getSuggestedWordsForTypingInput() even after a batch input was
started because WordComposer.commitWord() reset the batch input state.

Bug: 6932442
Change-Id: If645b1ef0343aa1e21ca71a9275b40c6c3be13df
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index f8a6fc8..1e700f5 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -545,8 +545,9 @@
             commitTyped(LastComposedWord.NOT_A_SEPARATOR);
             mConnection.finishComposingText();
             mConnection.endBatchEdit();
-            if (isShowingOptionDialog())
+            if (isShowingOptionDialog()) {
                 mOptionsDialog.dismiss();
+            }
         }
         super.onConfigurationChanged(conf);
     }
@@ -1046,7 +1047,6 @@
                     LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD, typedWord.toString(),
                     separatorCode, prevWord);
         }
-        updateSuggestionStrip();
     }
 
     // Called from the KeyboardSwitcher which needs to know auto caps state to display
@@ -1330,10 +1330,11 @@
 
     // Called from PointerTracker through the KeyboardActionListener interface
     @Override
-    public void onTextInput(CharSequence text) {
+    public void onTextInput(CharSequence rawText) {
         mConnection.beginBatchEdit();
         commitTyped(LastComposedWord.NOT_A_SEPARATOR);
-        text = specificTldProcessingOnTextInput(text);
+        mHandler.postUpdateSuggestionStrip();
+        final CharSequence text = specificTldProcessingOnTextInput(rawText);
         if (SPACE_STATE_PHANTOM == mSpaceState) {
             sendKeyCodePoint(Keyboard.CODE_SPACE);
         }
@@ -1688,8 +1689,9 @@
         commitTyped(LastComposedWord.NOT_A_SEPARATOR);
         requestHideSelf(0);
         MainKeyboardView inputView = mKeyboardSwitcher.getKeyboardView();
-        if (inputView != null)
+        if (inputView != null) {
             inputView.closing();
+        }
     }
 
     // TODO: make this private