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

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

Cancel update batch input timer when gesture typing has been canceled

Bug: 7594165
Change-Id: I9dc42919bd196c249c79668570004d3f541cc9ec
parent 061da39c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -749,12 +749,12 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
            if (getActivePointerTrackerCount() == 1) {
                sInGesture = false;
                sTimeRecorder.onEndBatchInput(eventTime);
                mTimerProxy.cancelAllUpdateBatchInputTimers();
                if (!mIsTrackingCanceled) {
                    if (DEBUG_LISTENER) {
                        Log.d(TAG, String.format("[%d] onEndBatchInput   : batchPoints=%d",
                                mPointerId, sAggregratedPointers.getPointerSize()));
                    }
                    mTimerProxy.cancelAllUpdateBatchInputTimers();
                    mListener.onEndBatchInput(sAggregratedPointers);
                }
            }
+4 −3
Original line number Diff line number Diff line
@@ -1464,7 +1464,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
    private static final class BatchInputUpdater implements Handler.Callback {
        private final Handler mHandler;
        private LatinIME mLatinIme;
        private boolean mInBatchInput; // synchornized using "this".
        private boolean mInBatchInput; // synchronized using "this".

        private BatchInputUpdater() {
            final HandlerThread handlerThread = new HandlerThread(
@@ -1496,6 +1496,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction

        // Run in the UI thread.
        public synchronized void onStartBatchInput() {
            mHandler.removeMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP);
            mInBatchInput = true;
        }

@@ -1503,7 +1504,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
        private synchronized void updateBatchInput(final InputPointers batchPointers,
                final LatinIME latinIme) {
            if (!mInBatchInput) {
                // Batch input has ended while the message was being delivered.
                // Batch input has ended or canceled while the message was being delivered.
                return;
            }
            final SuggestedWords suggestedWords = getSuggestedWordsGestureLocked(
@@ -1523,7 +1524,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
                    .sendToTarget();
        }

        public void onCancelBatchInput(final LatinIME latinIme) {
        public synchronized void onCancelBatchInput(final LatinIME latinIme) {
            mInBatchInput = false;
            latinIme.mHandler.showGesturePreviewAndSuggestionStrip(
                    SuggestedWords.EMPTY, true /* dismissGestureFloatingPreviewText */);