Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d845c26b authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Fix IndexOutOfBoundsException in monkey test" into ics-mr1

parents 6644ea82 d17786fc
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -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,26 +47,29 @@ 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;
    }