Loading java/src/com/android/inputmethod/latin/LatinIME.java +8 −11 Original line number Diff line number Diff line Loading @@ -1386,13 +1386,20 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar private void handleBackspace(final int spaceState) { if (mVoiceProxy.logAndRevertVoiceInput()) return; final InputConnection ic = getCurrentInputConnection(); if (ic == null) return; ic.beginBatchEdit(); handleBackspaceWhileInBatchEdit(spaceState, ic); ic.endBatchEdit(); } // "ic" may not be null. private void handleBackspaceWhileInBatchEdit(final int spaceState, final InputConnection ic) { mVoiceProxy.handleBackspace(); // In many cases, we may have to put the keyboard in auto-shift state again. mHandler.postUpdateShiftKeyState(); if (mEnteredText != null && sameAsTextBeforeCursor(ic, mEnteredText)) { // Cancel multi-character input: remove the text we just entered. // This is triggered on backspace after a key that inputs multiple characters, Loading @@ -1401,7 +1408,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // If we have mEnteredText, then we know that mHasUncommittedTypedChars == false. // In addition we know that spaceState is false, and that we should not be // reverting any autocorrect at this point. So we can safely return. ic.endBatchEdit(); return; } Loading Loading @@ -1430,21 +1436,15 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } else { ic.deleteSurroundingText(1, 0); } // If we deleted the last remaining char of a word, we may have to put the keyboard // in auto-shift state again. mHandler.postUpdateShiftKeyState(); // If we had uncommitted chars then we know it's not time to revert any auto-correct // and that spaceState is NONE. ic.endBatchEdit(); return; } mHandler.postUpdateShiftKeyState(); if (null != mWordSavedForAutoCorrectCancellation) { Utils.Stats.onAutoCorrectionCancellation(); cancelAutoCorrect(ic); mWordSavedForAutoCorrectCancellation = null; ic.endBatchEdit(); return; } else { mWordSavedForAutoCorrectCancellation = null; Loading @@ -1452,14 +1452,12 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar if (SPACE_STATE_DOUBLE == spaceState) { if (revertDoubleSpace(ic)) { ic.endBatchEdit(); // No need to reset mSpaceState, it has already be done (that's why we // receive it as a parameter) return; } } else if (SPACE_STATE_SWAP_PUNCTUATION == spaceState) { if (revertSwapPunctuation(ic)) { ic.endBatchEdit(); // Likewise return; } Loading @@ -1483,7 +1481,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar restartSuggestionsOnWordBeforeCursorIfAtEndOfWord(ic); } } ic.endBatchEdit(); } private void handleTab() { Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +8 −11 Original line number Diff line number Diff line Loading @@ -1386,13 +1386,20 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar private void handleBackspace(final int spaceState) { if (mVoiceProxy.logAndRevertVoiceInput()) return; final InputConnection ic = getCurrentInputConnection(); if (ic == null) return; ic.beginBatchEdit(); handleBackspaceWhileInBatchEdit(spaceState, ic); ic.endBatchEdit(); } // "ic" may not be null. private void handleBackspaceWhileInBatchEdit(final int spaceState, final InputConnection ic) { mVoiceProxy.handleBackspace(); // In many cases, we may have to put the keyboard in auto-shift state again. mHandler.postUpdateShiftKeyState(); if (mEnteredText != null && sameAsTextBeforeCursor(ic, mEnteredText)) { // Cancel multi-character input: remove the text we just entered. // This is triggered on backspace after a key that inputs multiple characters, Loading @@ -1401,7 +1408,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // If we have mEnteredText, then we know that mHasUncommittedTypedChars == false. // In addition we know that spaceState is false, and that we should not be // reverting any autocorrect at this point. So we can safely return. ic.endBatchEdit(); return; } Loading Loading @@ -1430,21 +1436,15 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } else { ic.deleteSurroundingText(1, 0); } // If we deleted the last remaining char of a word, we may have to put the keyboard // in auto-shift state again. mHandler.postUpdateShiftKeyState(); // If we had uncommitted chars then we know it's not time to revert any auto-correct // and that spaceState is NONE. ic.endBatchEdit(); return; } mHandler.postUpdateShiftKeyState(); if (null != mWordSavedForAutoCorrectCancellation) { Utils.Stats.onAutoCorrectionCancellation(); cancelAutoCorrect(ic); mWordSavedForAutoCorrectCancellation = null; ic.endBatchEdit(); return; } else { mWordSavedForAutoCorrectCancellation = null; Loading @@ -1452,14 +1452,12 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar if (SPACE_STATE_DOUBLE == spaceState) { if (revertDoubleSpace(ic)) { ic.endBatchEdit(); // No need to reset mSpaceState, it has already be done (that's why we // receive it as a parameter) return; } } else if (SPACE_STATE_SWAP_PUNCTUATION == spaceState) { if (revertSwapPunctuation(ic)) { ic.endBatchEdit(); // Likewise return; } Loading @@ -1483,7 +1481,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar restartSuggestionsOnWordBeforeCursorIfAtEndOfWord(ic); } } ic.endBatchEdit(); } private void handleTab() { Loading