diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 50bc2b0a21e53fd9f0e1b0a5f1cb2f4ca34a250d..f31fb134c43e4a48b5f94d9af47cc49d980f940d 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -173,9 +173,7 @@ public final class WordComposer { final int keyX = event.mX; final int keyY = event.mY; final int newIndex = size(); - mCombinerChain.processEvent(mEvents, event); - mEvents.add(event); - refreshTypedWordCache(); + processEvent(event); mCursorPositionWithinWord = mCodePointSize; if (newIndex < MAX_WORD_LENGTH) { mPrimaryKeyCodes[newIndex] = primaryCode >= Constants.CODE_SPACE @@ -200,13 +198,17 @@ public final class WordComposer { mAutoCorrection = null; } + private void processEvent(final Event event) { + mCombinerChain.processEvent(mEvents, event); + mEvents.add(event); + refreshTypedWordCache(); + } + /** * Delete the last composing unit as a result of hitting backspace. */ public void deleteLast(final Event event) { - mCombinerChain.processEvent(mEvents, event); - mEvents.add(event); - refreshTypedWordCache(); + processEvent(event); // We may have deleted the last one. if (0 == size()) { mIsFirstCharCapitalized = false;