diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index cf89567..d51e036 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -781,9 +781,6 @@
 
     public void cancelAllMessages() {
         mDrawingHandler.cancelAllMessages();
-        if (mPreviewPlacerView != null) {
-            mPreviewPlacerView.cancelAllMessages();
-        }
     }
 
     private TextView getKeyPreviewText(final int pointerId) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java b/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
index 15170e0..b3fd284 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
@@ -101,29 +101,17 @@
             }
         }
 
-        private void cancelDismissGestureFloatingPreviewText() {
-            removeMessages(MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT);
-        }
-
         public void dismissGestureFloatingPreviewText() {
-            cancelDismissGestureFloatingPreviewText();
+            removeMessages(MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT);
             sendMessageDelayed(obtainMessage(MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT),
                     mGestureFloatingPreviewTextLingerTimeout);
         }
 
-        private void cancelUpdateGestureTrailPreview() {
-            removeMessages(MSG_UPDATE_GESTURE_PREVIEW_TRAIL);
-        }
-
         public void postUpdateGestureTrailPreview() {
-            cancelUpdateGestureTrailPreview();
+            removeMessages(MSG_UPDATE_GESTURE_PREVIEW_TRAIL);
             sendMessageDelayed(obtainMessage(MSG_UPDATE_GESTURE_PREVIEW_TRAIL),
                     mGesturePreviewTrailParams.mUpdateInterval);
         }
-
-        public void cancelAllMessages() {
-            cancelUpdateGestureTrailPreview();
-        }
     }
 
     public PreviewPlacerView(final Context context, final AttributeSet attrs) {
@@ -278,10 +266,6 @@
         mDrawingHandler.dismissGestureFloatingPreviewText();
     }
 
-    public void cancelAllMessages() {
-        mDrawingHandler.cancelAllMessages();
-    }
-
     private void drawGestureFloatingPreviewText(final Canvas canvas,
             final String gestureFloatingPreviewText) {
         if (TextUtils.isEmpty(gestureFloatingPreviewText)) {
