From 31ff2a4335d6cea0a5ebc11268833ceb99a4fa72 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Wed, 25 Dec 2013 17:07:35 +0900 Subject: [PATCH] [IL45] Remove lingering messages Bug: 8636060 And possibly bug: 12085864 Change-Id: I867036bc3d8bd255dc8ceebdd30e28b4b3dc4b2d --- .../src/com/android/inputmethod/latin/LatinIME.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index fb3a6dfb7..4679a93b7 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1338,6 +1338,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen private void updateBatchInput(final InputPointers batchPointers, final int sequenceNumber, final boolean forEnd) { synchronized (mLock) { + mHandler.removeMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP); if (!mInBatchInput) { // Batch input has ended or canceled while the message was being delivered. return; @@ -1374,11 +1375,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Called on the UI thread by LatinIME. public void onUpdateBatchInput(final InputPointers batchPointers, final int sequenceNumber) { - if (mHandler.hasMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP)) { - return; + synchronized (mLock) { + if (mHandler.hasMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP)) { + return; + } + mHandler.obtainMessage(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP, + 0 /* arg1 */,sequenceNumber /* arg2 */, + batchPointers /* obj */).sendToTarget(); } - mHandler.obtainMessage(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP, 0 /* arg1 */, - sequenceNumber /* arg2 */, batchPointers /* obj */).sendToTarget(); } /** @@ -1391,6 +1395,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Called on the UI thread by LatinIME. public void onCancelBatchInput() { synchronized (mLock) { + mHandler.removeMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP); mInBatchInput = false; } }