aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/WordComposer.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-07-30 16:57:58 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-07-30 16:57:58 +0000
commit99e13e485a314615a6523794fbb26eecb6e67a74 (patch)
tree436cc08293a7012b71d088b1c1de93b85671fb05 /java/src/com/android/inputmethod/latin/WordComposer.java
parente6a9f7974721b0ec7fa5bf41fb1eafff4f41f9d0 (diff)
parentbf2a32100568a01d25edb56d3d9d46b5f5d2c0eb (diff)
downloadlatinime-99e13e485a314615a6523794fbb26eecb6e67a74.tar.gz
latinime-99e13e485a314615a6523794fbb26eecb6e67a74.tar.xz
latinime-99e13e485a314615a6523794fbb26eecb6e67a74.zip
am bf2a3210: Merge "[HW6] Split processing and applying the event." into lmp-dev
* commit 'bf2a32100568a01d25edb56d3d9d46b5f5d2c0eb': [HW6] Split processing and applying the event.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/WordComposer.java')
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java28
1 files changed, 21 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index cdd782244..2485cf411 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -175,20 +175,30 @@ public final class WordComposer {
}
/**
- * Process an input event.
+ * 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.
*
* All input events should be supported, including software/hardware events, characters as well
* as deletions, multiple inputs and gestures.
*
- * @param event the event to process.
+ * @param event the event to apply.
*/
- public void processEvent(final Event event) {
+ public void applyProcessedEvent(final Event event) {
final int primaryCode = event.mCodePoint;
final int keyX = event.mX;
final int keyY = event.mY;
final int newIndex = size();
- mCombinerChain.processEvent(mEvents, event);
- mEvents.add(event);
+ mCombinerChain.applyProcessedEvent(event);
refreshTypedWordCache();
mCursorPositionWithinWord = mCodePointSize;
// We may have deleted the last one.
@@ -281,7 +291,9 @@ public final class WordComposer {
final int codePoint = Character.codePointAt(word, i);
// We don't want to override the batch input points that are held in mInputPointers
// (See {@link #add(int,int,int)}).
- processEvent(Event.createEventForCodePointFromUnknownSource(codePoint));
+ final Event processedEvent =
+ processEvent(Event.createEventForCodePointFromUnknownSource(codePoint));
+ applyProcessedEvent(processedEvent);
}
}
@@ -295,9 +307,11 @@ public final class WordComposer {
reset();
final int length = codePoints.length;
for (int i = 0; i < length; ++i) {
- processEvent(Event.createEventForCodePointFromAlreadyTypedText(codePoints[i],
+ final Event processedEvent =
+ processEvent(Event.createEventForCodePointFromAlreadyTypedText(codePoints[i],
CoordinateUtils.xFromArray(coordinates, i),
CoordinateUtils.yFromArray(coordinates, i)));
+ applyProcessedEvent(processedEvent);
}
mIsResumed = true;
}