From 660d42fb36b00914e5fc3aeabdec844e3af7ff6b Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Tue, 28 Jun 2011 00:28:29 +0900
Subject: [PATCH] Remove mInForeground flag from KeyboardView

Instead of that, added cancelAllMessages() and call it from
onFinishInputView().

Change-Id: I58f6f0931ed8d73441d80d9616ba3afbbbe38e05
---
 .../android/inputmethod/keyboard/KeyboardView.java    | 11 +++++------
 java/src/com/android/inputmethod/latin/LatinIME.java  |  3 +--
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 840e52894e..2a1b3fb7f1 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -141,7 +141,6 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
     private int mKeyHintLabelSize;
 
     // Key preview
-    private boolean mInForeground;
     private final TextView mPreviewText;
     private int mPreviewTextSize;
     private boolean mShowKeyPreviewPopup = true;
@@ -935,10 +934,6 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
         canvas.translate(-x, -y);
     }
 
-    public void setForeground(boolean foreground) {
-        mInForeground = foreground;
-    }
-
     // TODO: clean up this method.
     private void dismissAllKeyPreviews() {
         for (PointerTracker tracker : mPointerTrackers) {
@@ -947,6 +942,10 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
         }
     }
 
+    public void cancelAllMessage() {
+        mHandler.cancelAllMessages();
+    }
+
     @Override
     public void showKeyPreview(int keyIndex, PointerTracker tracker) {
         if (mShowKeyPreviewPopup) {
@@ -991,7 +990,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
         // If keyIndex is invalid or IME is already closed, we must not show key preview.
         // Trying to show key preview while root window is closed causes
         // WindowManager.BadTokenException.
-        if (key == null || !mInForeground)
+        if (key == null)
             return;
 
         mHandler.cancelAllDismissKeyPreviews();
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 45f35ec035..874d77f19f 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -591,7 +591,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
         inputView.setProximityCorrectionEnabled(true);
         // If we just entered a text field, maybe it has some old text that requires correction
         mRecorrection.checkRecorrectionOnStart();
-        inputView.setForeground(true);
 
         voiceIme.onStartInputView(inputView.getWindowToken());
 
@@ -679,7 +678,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
     public void onFinishInputView(boolean finishingInput) {
         super.onFinishInputView(finishingInput);
         KeyboardView inputView = mKeyboardSwitcher.getKeyboardView();
-        if (inputView != null) inputView.setForeground(false);
+        if (inputView != null) inputView.cancelAllMessage();
         // Remove pending messages related to update suggestions
         mHandler.cancelUpdateSuggestions();
         mHandler.cancelUpdateOldSuggestions();
-- 
GitLab