From 4399849dea9f3cc1c8b1828739a0dd7bedc1f730 Mon Sep 17 00:00:00 2001 From: Ken Wakasa Date: Wed, 30 Jul 2014 00:55:49 +0000 Subject: [PATCH] Revert "[HW6] Split processing and applying the event." This reverts commit 1db3d860ca0d7380c5a6a3a0f95751565f23043b. Reverting due to a few critical bugs and unit test failures. Change-Id: I5e2d02300320438ef9c29577ec5b0860ea91d822 --- .../inputmethod/event/CombinerChain.java | 12 ++--------- .../inputmethod/latin/WordComposer.java | 20 +++++-------------- .../latin/inputlogic/InputLogic.java | 6 ++---- 3 files changed, 9 insertions(+), 29 deletions(-) diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java index 8c6b3d949..61bc11b39 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 { } /** - * Process an event through the combining chain, and return a processed event to apply. + * Pass a new event through the whole chain. * @param previousEvents the list of previous events in this composition * @param newEvent the new event to process */ - public Event processEvent(final ArrayList previousEvents, final Event newEvent) { + public void processEvent(final ArrayList previousEvents, final Event newEvent) { final ArrayList modifiablePreviousEvents = new ArrayList<>(previousEvents); Event event = newEvent; for (final Combiner combiner : mCombiners) { @@ -97,14 +97,6 @@ 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) { diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index df7958470..cdd782244 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -175,30 +175,20 @@ public final class WordComposer { } /** - * Process an event and return an event, and return a processed event to apply. - * @param event the unprocessed event. - * @return the processed event. - */ - public Event processEvent(final Event event) { - final Event processedEvent = mCombinerChain.processEvent(mEvents, event); - mEvents.add(event); - return processedEvent; - } - - /** - * Apply a processed input event. + * Process an input event. * * All input events should be supported, including software/hardware events, characters as well * as deletions, multiple inputs and gestures. * - * @param event the event to apply. + * @param event the event to process. */ - public void applyProcessedEvent(final Event event) { + public void processEvent(final Event event) { final int primaryCode = event.mCodePoint; final int keyX = event.mX; final int keyY = event.mY; final int newIndex = size(); - mCombinerChain.applyProcessedEvent(event); + mCombinerChain.processEvent(mEvents, event); + mEvents.add(event); refreshTypedWordCache(); mCursorPositionWithinWord = mCodePointSize; // We may have deleted the last one. diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index bb2d304a6..74d879919 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -762,8 +762,7 @@ public final class InputLogic { resetComposingState(false /* alsoResetLastComposedWord */); } if (isComposingWord) { - final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); - mWordComposer.applyProcessedEvent(processedEvent); + mWordComposer.processEvent(inputTransaction.mEvent); // If it's the first letter, make note of auto-caps state if (mWordComposer.isSingleLetter()) { mWordComposer.setCapitalizedModeAtStartComposingTime(inputTransaction.mShiftState); @@ -934,8 +933,7 @@ public final class InputLogic { mDictionaryFacilitator.removeWordFromPersonalizedDicts(rejectedSuggestion); } } else { - final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); - mWordComposer.applyProcessedEvent(processedEvent); + mWordComposer.processEvent(inputTransaction.mEvent); } if (mWordComposer.isComposingWord()) { mConnection.setComposingText(getTextWithUnderline(mWordComposer.getTypedWord()), 1);