aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2011-11-16 17:45:09 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-16 17:45:09 -0800
commitd845c26b0e72e67aa14b5eac4616eb5ee7d81b33 (patch)
tree54c64a0dcf2890857a00910a0759eda865376b59 /java/src
parent6644ea82970da35897b40ef524406b1e3b0d0a9d (diff)
parentd17786fcd21e53b81e4d4e924adc8becdfa46ec2 (diff)
downloadlatinime-d845c26b0e72e67aa14b5eac4616eb5ee7d81b33.tar.gz
latinime-d845c26b0e72e67aa14b5eac4616eb5ee7d81b33.tar.xz
latinime-d845c26b0e72e67aa14b5eac4616eb5ee7d81b33.zip
Merge "Fix IndexOutOfBoundsException in monkey test" into ics-mr1
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java21
1 files changed, 12 insertions, 9 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java b/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java
index 55175e046..08e7a7a4e 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java
@@ -21,13 +21,13 @@ import com.android.inputmethod.keyboard.PointerTracker;
import java.util.LinkedList;
public class PointerTrackerQueue {
- private LinkedList<PointerTracker> mQueue = new LinkedList<PointerTracker>();
+ private final LinkedList<PointerTracker> mQueue = new LinkedList<PointerTracker>();
- public void add(PointerTracker tracker) {
+ public synchronized void add(PointerTracker tracker) {
mQueue.add(tracker);
}
- public void releaseAllPointersOlderThan(PointerTracker tracker, long eventTime) {
+ public synchronized void releaseAllPointersOlderThan(PointerTracker tracker, long eventTime) {
if (mQueue.lastIndexOf(tracker) < 0) {
return;
}
@@ -47,25 +47,28 @@ public class PointerTrackerQueue {
releaseAllPointersExcept(null, eventTime);
}
- public void releaseAllPointersExcept(PointerTracker tracker, long eventTime) {
+ public synchronized void releaseAllPointersExcept(PointerTracker tracker, long eventTime) {
for (PointerTracker t : mQueue) {
- if (t == tracker)
+ if (t == tracker) {
continue;
+ }
t.onPhantomUpEvent(t.getLastX(), t.getLastY(), eventTime);
}
mQueue.clear();
- if (tracker != null)
+ if (tracker != null) {
mQueue.add(tracker);
+ }
}
- public void remove(PointerTracker tracker) {
+ public synchronized void remove(PointerTracker tracker) {
mQueue.remove(tracker);
}
- public boolean isAnyInSlidingKeyInput() {
+ public synchronized boolean isAnyInSlidingKeyInput() {
for (final PointerTracker tracker : mQueue) {
- if (tracker.isInSlidingKeyInput())
+ if (tracker.isInSlidingKeyInput()) {
return true;
+ }
}
return false;
}