From 7196566d4f2048a4160acc6271ccb26c73d6fcd6 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Mon, 30 Jun 2014 23:22:28 +0900 Subject: [HW6] Split processing and applying the event. ...take 2 Change-Id: I9d13b6d51e13ce2e76ae3febebfb8c310eba509d --- java/src/com/android/inputmethod/event/CombinerChain.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'java/src/com/android/inputmethod/event/CombinerChain.java') 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 previousEvents, final Event newEvent) { + public Event processEvent(final ArrayList previousEvents, final Event newEvent) { final ArrayList 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) { -- cgit v1.2.3-83-g751a