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

Commit d17786fc authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Fix IndexOutOfBoundsException in monkey test

Bug: 5627027

Change-Id: I341cfa5c3d553a1c819d8455936b40a40ad30e87
parent 25cbe892
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;
    }