aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2014-07-30 00:55:49 +0000
committerKen Wakasa <kwakasa@google.com>2014-07-30 00:55:49 +0000
commit4399849dea9f3cc1c8b1828739a0dd7bedc1f730 (patch)
treeac7941f712b37317de30e77c4559a2637c2c36b4
parent1db3d860ca0d7380c5a6a3a0f95751565f23043b (diff)
downloadlatinime-4399849dea9f3cc1c8b1828739a0dd7bedc1f730.tar.gz
latinime-4399849dea9f3cc1c8b1828739a0dd7bedc1f730.tar.xz
latinime-4399849dea9f3cc1c8b1828739a0dd7bedc1f730.zip
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
-rw-r--r--java/src/com/android/inputmethod/event/CombinerChain.java12
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java20
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java6
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<Event> previousEvents, final Event newEvent) {
+ public void processEvent(final ArrayList<Event> previousEvents, final Event newEvent) {
final ArrayList<Event> 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);