Check isEligibleForAutoCommit when batch input is ended.

Bug: 11951198
Change-Id: Ibbe09fa38eaa3ebf8f9b69f744a29db7ac598975
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index f53183f..a994a43 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -1616,7 +1616,10 @@
         if (SpaceState.PHANTOM == mSpaceState) {
             promotePhantomSpace(settingsValues);
         }
-        if (settingsValues.mPhraseGestureEnabled) {
+        final SuggestedWordInfo autoCommitCandidate = mSuggestedWords.getAutoCommitCandidate();
+        // Commit except the last word for phrase gesture if the top suggestion is eligible for auto
+        // commit.
+        if (settingsValues.mPhraseGestureEnabled && null != autoCommitCandidate) {
             // Find the last space
             final int indexOfLastSpace = batchInputText.lastIndexOf(Constants.CODE_SPACE) + 1;
             if (0 != indexOfLastSpace) {
diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h
index 1969eba..22cc4c0 100644
--- a/native/jni/src/defines.h
+++ b/native/jni/src/defines.h
@@ -311,7 +311,7 @@
 
 // A special value to mean the first word confidence makes no sense in this case,
 // e.g. this is not a multi-word suggestion.
-#define NOT_A_FIRST_WORD_CONFIDENCE (S_INT_MAX)
+#define NOT_A_FIRST_WORD_CONFIDENCE (S_INT_MIN)
 // How high the confidence needs to be for us to auto-commit. Arbitrary.
 // This needs to be the same as CONFIDENCE_FOR_AUTO_COMMIT in BinaryDictionary.java
 #define CONFIDENCE_FOR_AUTO_COMMIT (1000000)