aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/event/CombinerChain.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-06-30 23:22:28 +0900
committerJean Chalard <jchalard@google.com>2014-07-30 11:06:43 +0900
commit7196566d4f2048a4160acc6271ccb26c73d6fcd6 (patch)
tree7b25204c121701fa6c3a5792b225d199596e2434 /java/src/com/android/inputmethod/event/CombinerChain.java
parentc4f6fc1e4868feb7bcbf2b0dc724eb9ed995780e (diff)
downloadlatinime-7196566d4f2048a4160acc6271ccb26c73d6fcd6.tar.gz
latinime-7196566d4f2048a4160acc6271ccb26c73d6fcd6.tar.xz
latinime-7196566d4f2048a4160acc6271ccb26c73d6fcd6.zip
[HW6] Split processing and applying the event.
...take 2 Change-Id: I9d13b6d51e13ce2e76ae3febebfb8c310eba509d
Diffstat (limited to 'java/src/com/android/inputmethod/event/CombinerChain.java')
-rw-r--r--java/src/com/android/inputmethod/event/CombinerChain.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java
index 61bc11b39..8c6b3d949 100644
--- a/java/src/com/android/inputmethod/event/CombinerChain.java
+++ b/java/src/com/android/inputmethod/event/CombinerChain.java
@@ -81,11 +81,11 @@ public class CombinerChain {
}
/**
- * Pass a new event through the whole chain.
+ * Process an event through the combining chain, and return a processed event to apply.
* @param previousEvents the list of previous events in this composition
* @param newEvent the new event to process
*/
- public void processEvent(final ArrayList<Event> previousEvents, final Event newEvent) {
+ public Event processEvent(final ArrayList<Event> previousEvents, final Event newEvent) {
final ArrayList<Event> modifiablePreviousEvents = new ArrayList<>(previousEvents);
Event event = newEvent;
for (final Combiner combiner : mCombiners) {
@@ -97,6 +97,14 @@ public class CombinerChain {
break;
}
}
+ return event;
+ }
+
+ /**
+ * Apply a processed event.
+ * @param event the event to be applied
+ */
+ public void applyProcessedEvent(final Event event) {
if (null != event) {
// TODO: figure out the generic way of doing this
if (Constants.CODE_DELETE == event.mKeyCode) {