diff options
author | 2014-07-31 13:40:43 +0000 | |
---|---|---|
committer | 2014-07-31 13:40:43 +0000 | |
commit | a6622bdce6d308a5cb1215fdc0ca522ae1d10d34 (patch) | |
tree | 3f1f13328b385be176a03bb2ec4699e79c9e0616 /java | |
parent | 416918e279caa92fcc04cdfd9b69a39fc86638e7 (diff) | |
parent | 3d663a0a9d4ee37bddcb3bfcbe1f77d70226d03e (diff) | |
download | latinime-a6622bdce6d308a5cb1215fdc0ca522ae1d10d34.tar.gz latinime-a6622bdce6d308a5cb1215fdc0ca522ae1d10d34.tar.xz latinime-a6622bdce6d308a5cb1215fdc0ca522ae1d10d34.zip |
am 3d663a0a: am 1711c2aa: am f290d407: [HW9] Pull the processed event further.
* commit '3d663a0a9d4ee37bddcb3bfcbe1f77d70226d03e':
[HW9] Pull the processed event further.
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index f2a6f3b2e..82a7660e1 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -428,7 +428,8 @@ public final class InputLogic { // A special key, like delete, shift, emoji, or the settings key. switch (event.mKeyCode) { case Constants.CODE_DELETE: - handleBackspace(inputTransaction, currentKeyboardScriptId); + 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(); break; @@ -681,13 +682,14 @@ public final class InputLogic { private boolean handleNonSpecialCharacter(final InputTransaction inputTransaction, // TODO: remove this argument final LatinIME.UIHandler handler) { - final int codePoint = inputTransaction.mEvent.mCodePoint; + final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); + final int codePoint = processedEvent.mCodePoint; mSpaceState = SpaceState.NONE; final boolean didAutoCorrect; if (inputTransaction.mSettingsValues.isWordSeparator(codePoint) || Character.getType(codePoint) == Character.OTHER_SYMBOL) { didAutoCorrect = handleSeparator(inputTransaction, - inputTransaction.mEvent.isSuggestionStripPress(), handler); + processedEvent.isSuggestionStripPress(), handler); } else { didAutoCorrect = false; if (SpaceState.PHANTOM == inputTransaction.mSpaceState) { @@ -700,7 +702,7 @@ public final class InputLogic { commitTyped(inputTransaction.mSettingsValues, LastComposedWord.NOT_A_SEPARATOR); } } - handleNonSeparator(inputTransaction.mSettingsValues, inputTransaction); + handleNonSeparator(inputTransaction.mSettingsValues, inputTransaction, processedEvent); } return didAutoCorrect; } @@ -711,8 +713,9 @@ public final class InputLogic { * @param inputTransaction The transaction in progress. */ private void handleNonSeparator(final SettingsValues settingsValues, - final InputTransaction inputTransaction) { - final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); + final InputTransaction inputTransaction, + // TODO: remove this arg, put it into the input transaction + final Event processedEvent) { final int codePoint = processedEvent.mCodePoint; // TODO: refactor this method to stop flipping isComposingWord around all the time, and // make it shorter (possibly cut into several pieces). Also factor handleNonSpecialCharacter @@ -902,8 +905,9 @@ public final class InputLogic { */ private void handleBackspace(final InputTransaction inputTransaction, // TODO: remove this argument, put it into settingsValues - final int currentKeyboardScriptId) { - final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); + final int currentKeyboardScriptId, + // TODO: remove this argument, put it into the transaction + final Event processedEvent) { mSpaceState = SpaceState.NONE; mDeleteCount++; |