diff options
author | 2014-08-05 13:30:38 +0000 | |
---|---|---|
committer | 2014-08-05 13:30:38 +0000 | |
commit | bc065f4d779291feaf2848fe09dae1cdd81218fc (patch) | |
tree | 8a8dbeefe633078a936e3e6626a6288eaeb825aa /java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | |
parent | df9f7c88ba6f33920f67cce4c2c1a401421fd964 (diff) | |
parent | 6745f337c166cb1750e80ce9101bdbf57d2b6596 (diff) | |
download | latinime-bc065f4d779291feaf2848fe09dae1cdd81218fc.tar.gz latinime-bc065f4d779291feaf2848fe09dae1cdd81218fc.tar.xz latinime-bc065f4d779291feaf2848fe09dae1cdd81218fc.zip |
am 6745f337: am d5c89d64: am 6474ef99: Merge "[HW16] Implement processing event chains." into lmp-dev
* commit '6745f337c166cb1750e80ce9101bdbf57d2b6596':
[HW16] Implement processing event chains.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index 5c719edb9..97457b2f7 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -426,13 +426,17 @@ public final class InputLogic { cancelDoubleSpacePeriodCountdown(); } - if (processedEvent.isConsumed()) { - handleConsumedEvent(processedEvent, inputTransaction); - } else if (processedEvent.isFunctionalKeyEvent()) { - handleFunctionalEvent(processedEvent, inputTransaction, currentKeyboardScriptId, - handler); - } else { - handleNonFunctionalEvent(processedEvent, inputTransaction, handler); + Event currentEvent = processedEvent; + while (null != currentEvent) { + if (currentEvent.isConsumed()) { + handleConsumedEvent(currentEvent, inputTransaction); + } else if (currentEvent.isFunctionalKeyEvent()) { + handleFunctionalEvent(currentEvent, inputTransaction, currentKeyboardScriptId, + handler); + } else { + handleNonFunctionalEvent(currentEvent, inputTransaction, handler); + } + currentEvent = currentEvent.mNextEvent; } if (!inputTransaction.didAutoCorrect() && processedEvent.mKeyCode != Constants.CODE_SHIFT && processedEvent.mKeyCode != Constants.CODE_CAPSLOCK |