diff options
author | 2014-08-04 22:28:24 +0900 | |
---|---|---|
committer | 2014-08-05 15:37:01 +0900 | |
commit | 0a2872cb448c6df1009011414359981d411bd879 (patch) | |
tree | ac23d4d6663c34005951f6be4173a941787d177f /java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | |
parent | f69bb4c7a31095012608f6608aa714588eb73b3d (diff) | |
download | latinime-0a2872cb448c6df1009011414359981d411bd879.tar.gz latinime-0a2872cb448c6df1009011414359981d411bd879.tar.xz latinime-0a2872cb448c6df1009011414359981d411bd879.zip |
[HW16] Implement processing event chains.
Change-Id: I4e1e4f101050ebda77c629a61c548d3c8efb330f
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 |