diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index 1df6444a01d61eaadcc9000550a23d4fdc85006e..1e7a0618e221d703630a4b49df75f5426665d3dd 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -876,6 +876,8 @@ public class KeyboardView extends View implements PointerTracker.UIProxy { // Dismiss key preview (in this case, slide language switcher) without any delay. mPreviewText.setVisibility(View.INVISIBLE); } + // Clear key preview display position. + mKeyPreviewPopupDisplayedY = -1; } private void addKeyPreview(TextView keyPreview) { diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index a489245aaddeda8fdf8d7c8f7b50f307693ffc8d..6b4e9469f277ad0f9324742eb305c63b9f8e328d 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -633,8 +633,6 @@ public class PointerTracker { private void startLongPressTimer(int keyIndex) { Key key = getKey(keyIndex); - if (!key.mEnabled) - return; if (key.mCode == Keyboard.CODE_SHIFT) { mHandler.startLongPressShiftTimer(mLongPressShiftKeyTimeout, keyIndex, this); } else if (key.mManualTemporaryUpperCaseCode != Keyboard.CODE_DUMMY diff --git a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java index 561dcbcef6431d9d1683e5d260dfa74a0068534b..62a32cf3c1e0659f94da76b27e17bc88a7901c0d 100644 --- a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java @@ -16,8 +16,6 @@ package com.android.inputmethod.keyboard; -import com.android.inputmethod.latin.R; - import android.content.Context; import android.content.res.Resources; import android.os.SystemClock; @@ -27,6 +25,8 @@ import android.view.MotionEvent; import android.view.View; import android.widget.PopupWindow; +import com.android.inputmethod.latin.R; + /** * A view that renders a virtual {@link MiniKeyboard}. It handles rendering of keys and detecting * key presses and touch movements. @@ -84,7 +84,7 @@ public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel { + parentKeyboardView.getPaddingTop() + mCoordinates[1]; final int x = miniKeyboardX; final int y = parentKeyboardView.isKeyPreviewPopupEnabled() && - miniKeyboard.isOneRowKeyboard() ? keyPreviewY : miniKeyboardY; + miniKeyboard.isOneRowKeyboard() && keyPreviewY >= 0 ? keyPreviewY : miniKeyboardY; if (miniKeyboard.setShifted(parentKeyboard.isShiftedOrShiftLocked())) { invalidateAllKeys();