Show key preview instantaneously
This change will display the key board preview instantaneously when
the key is pressed. Dismissing the key preview will be delayed
slightly after the key is released, as we do now.
Because in multi touch mode, we should instantaneously change keyboard
layout when modifier key, such as shit and symbol, is pressed.
Change-Id: I49348d563ca0f40f5a0a236bdcd0bb07eedd599b
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index 4007c2b..e3bad80 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -178,7 +178,6 @@
/** Listener for {@link OnKeyboardActionListener}. */
private OnKeyboardActionListener mKeyboardActionListener;
- private static final int DELAY_BEFORE_PREVIEW = 0;
private static final int DELAY_AFTER_PREVIEW = 70;
private static final int DEBOUNCE_TIME = 70;
@@ -245,19 +244,15 @@
UIHandler mHandler = new UIHandler();
class UIHandler extends Handler {
- private static final int MSG_POPUP_PREVIEW = 1;
- private static final int MSG_DISMISS_PREVIEW = 2;
- private static final int MSG_REPEAT_KEY = 3;
- private static final int MSG_LOGPRESS_KEY = 4;
+ private static final int MSG_DISMISS_PREVIEW = 0;
+ private static final int MSG_REPEAT_KEY = 1;
+ private static final int MSG_LOGPRESS_KEY = 2;
private boolean mInKeyRepeat;
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
- case MSG_POPUP_PREVIEW:
- showKey(msg.arg1);
- break;
case MSG_DISMISS_PREVIEW:
mPreviewText.setVisibility(INVISIBLE);
break;
@@ -271,15 +266,6 @@
}
}
- public void popupPreview(int keyIndex, long delay) {
- removeMessages(MSG_POPUP_PREVIEW);
- sendMessageDelayed(obtainMessage(MSG_POPUP_PREVIEW, keyIndex, 0), delay);
- }
-
- public void cancelPopupPreview() {
- removeMessages(MSG_POPUP_PREVIEW);
- }
-
public void dismissPreview(long delay) {
sendMessageDelayed(obtainMessage(MSG_DISMISS_PREVIEW), delay);
}
@@ -318,7 +304,6 @@
public void cancelAllMessages() {
cancelKeyTimers();
- cancelPopupPreview();
cancelDismissPreview();
}
};
@@ -613,7 +598,6 @@
}
// Remove any pending messages, except dismissing preview
mHandler.cancelKeyTimers();
- mHandler.cancelPopupPreview();
mKeyboard = keyboard;
LatinImeLogger.onSetKeyboard(mKeyboard);
List<Key> keys = mKeyboard.getKeys();
@@ -985,17 +969,11 @@
// If key changed and preview is on ...
if (oldKeyIndex != mCurrentKeyIndex && mShowPreview) {
if (keyIndex == NOT_A_KEY) {
- mHandler.cancelPopupPreview();
if (previewPopup.isShowing()) {
mHandler.dismissPreview(DELAY_AFTER_PREVIEW);
}
} else {
- if (previewPopup.isShowing() && mPreviewText.getVisibility() == VISIBLE) {
- // Show right away, if it's already visible and finger is moving around
- showKey(keyIndex);
- } else {
- mHandler.popupPreview(keyIndex, DELAY_BEFORE_PREVIEW);
- }
+ showKey(keyIndex);
}
}
}
@@ -1372,7 +1350,6 @@
int keyIndex = mProximityKeyDetector.getKeyIndexAndNearbyCodes(touchX, touchY, null);
boolean wasInKeyRepeat = mHandler.isInKeyRepeat();
mHandler.cancelKeyTimers();
- mHandler.cancelPopupPreview();
if (mDebouncer.isMinorMoveBounce(touchX, touchY, keyIndex, mCurrentKey)) {
mDebouncer.updateTimeDebouncing(eventTime);
} else {
@@ -1395,7 +1372,6 @@
private void onCancelEvent(int touchX, int touchY, long eventTime) {
mHandler.cancelKeyTimers();
- mHandler.cancelPopupPreview();
dismissPopupKeyboard();
mAbortKey = true;
showPreview(NOT_A_KEY);