Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 024ee9ff authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge changes I7888797c,I57b2232f

* changes:
  Refactor + small bugfix
  Refactoring
parents dc52e7c6 2245c3b5
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -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,
@@ -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;
        }

@@ -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;
@@ -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;
            }
@@ -1483,7 +1481,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                restartSuggestionsOnWordBeforeCursorIfAtEndOfWord(ic);
            }
        }
        ic.endBatchEdit();
    }

    private void handleTab() {