From 00ee5f76975644a9691126f24b4b6c4b4e671cff Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Tue, 1 Jul 2014 14:05:57 +0900 Subject: [PATCH] [HW10] Pull the processed event in its eventual place Change-Id: I5f7932097627766e907764a99a5e9c170f725bc0 --- .../inputmethod/latin/inputlogic/InputLogic.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index 82a7660e1..cb8b9c4db 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -405,6 +405,7 @@ public final class InputLogic { final int keyboardShiftMode, // TODO: remove these arguments final int currentKeyboardScriptId, final LatinIME.UIHandler handler) { + final Event processedEvent = mWordComposer.processEvent(event); final InputTransaction inputTransaction = new InputTransaction(settingsValues, event, SystemClock.uptimeMillis(), mSpaceState, getActualCapsMode(settingsValues, keyboardShiftMode)); @@ -428,7 +429,6 @@ public final class InputLogic { // A special key, like delete, shift, emoji, or the settings key. switch (event.mKeyCode) { case Constants.CODE_DELETE: - final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); handleBackspace(inputTransaction, currentKeyboardScriptId, processedEvent); // Backspace is a functional key, but it affects the contents of the editor. inputTransaction.setDidAffectContents(); @@ -484,7 +484,7 @@ public final class InputLogic { inputTransaction.mSettingsValues, tmpEvent, inputTransaction.mTimestamp, inputTransaction.mSpaceState, inputTransaction.mShiftState); - didAutoCorrect = handleNonSpecialCharacter(tmpTransaction, handler); + didAutoCorrect = handleNonSpecialCharacter(tmpTransaction, handler, processedEvent); // Shift + Enter is treated as a functional key but it results in adding a new // line, so that does affect the contents of the editor. inputTransaction.setDidAffectContents(); @@ -515,11 +515,13 @@ public final class InputLogic { } else { // No action label, and the action from imeOptions is NONE: this is a regular // enter key that should input a carriage return. - didAutoCorrect = handleNonSpecialCharacter(inputTransaction, handler); + didAutoCorrect = handleNonSpecialCharacter(inputTransaction, handler, + processedEvent); } break; default: - didAutoCorrect = handleNonSpecialCharacter(inputTransaction, handler); + didAutoCorrect = handleNonSpecialCharacter(inputTransaction, handler, + processedEvent); break; } } @@ -681,8 +683,9 @@ public final class InputLogic { */ private boolean handleNonSpecialCharacter(final InputTransaction inputTransaction, // TODO: remove this argument - final LatinIME.UIHandler handler) { - final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); + final LatinIME.UIHandler handler, + // TODO: remove this argument, put it inside the transaction + final Event processedEvent) { final int codePoint = processedEvent.mCodePoint; mSpaceState = SpaceState.NONE; final boolean didAutoCorrect;