am 2603c979: am 00dda50e: Revert "Show key preview instantaneously"

Merge commit '2603c97979ce9658788e8aff33b282d4c30a0b9d'

* commit '2603c97979ce9658788e8aff33b282d4c30a0b9d':
  Revert "Show key preview instantaneously"
main
Tadashi G. Takaoka 2010-08-27 16:04:34 -07:00 committed by Android Git Automerger
commit f0673a4c1d
1 changed files with 28 additions and 4 deletions

View File

@ -178,6 +178,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
/** Listener for {@link OnKeyboardActionListener}. */ /** Listener for {@link OnKeyboardActionListener}. */
private OnKeyboardActionListener mKeyboardActionListener; private OnKeyboardActionListener mKeyboardActionListener;
private static final int DELAY_BEFORE_PREVIEW = 0;
private static final int DELAY_AFTER_PREVIEW = 70; private static final int DELAY_AFTER_PREVIEW = 70;
private static final int DEBOUNCE_TIME = 70; private static final int DEBOUNCE_TIME = 70;
@ -244,15 +245,19 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
UIHandler mHandler = new UIHandler(); UIHandler mHandler = new UIHandler();
class UIHandler extends Handler { class UIHandler extends Handler {
private static final int MSG_DISMISS_PREVIEW = 0; private static final int MSG_POPUP_PREVIEW = 1;
private static final int MSG_REPEAT_KEY = 1; private static final int MSG_DISMISS_PREVIEW = 2;
private static final int MSG_LOGPRESS_KEY = 2; private static final int MSG_REPEAT_KEY = 3;
private static final int MSG_LOGPRESS_KEY = 4;
private boolean mInKeyRepeat; private boolean mInKeyRepeat;
@Override @Override
public void handleMessage(Message msg) { public void handleMessage(Message msg) {
switch (msg.what) { switch (msg.what) {
case MSG_POPUP_PREVIEW:
showKey(msg.arg1);
break;
case MSG_DISMISS_PREVIEW: case MSG_DISMISS_PREVIEW:
mPreviewText.setVisibility(INVISIBLE); mPreviewText.setVisibility(INVISIBLE);
break; break;
@ -266,6 +271,15 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
} }
} }
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) { public void dismissPreview(long delay) {
sendMessageDelayed(obtainMessage(MSG_DISMISS_PREVIEW), delay); sendMessageDelayed(obtainMessage(MSG_DISMISS_PREVIEW), delay);
} }
@ -304,6 +318,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
public void cancelAllMessages() { public void cancelAllMessages() {
cancelKeyTimers(); cancelKeyTimers();
cancelPopupPreview();
cancelDismissPreview(); cancelDismissPreview();
} }
}; };
@ -598,6 +613,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
} }
// Remove any pending messages, except dismissing preview // Remove any pending messages, except dismissing preview
mHandler.cancelKeyTimers(); mHandler.cancelKeyTimers();
mHandler.cancelPopupPreview();
mKeyboard = keyboard; mKeyboard = keyboard;
LatinImeLogger.onSetKeyboard(mKeyboard); LatinImeLogger.onSetKeyboard(mKeyboard);
List<Key> keys = mKeyboard.getKeys(); List<Key> keys = mKeyboard.getKeys();
@ -969,11 +985,17 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
// If key changed and preview is on ... // If key changed and preview is on ...
if (oldKeyIndex != mCurrentKeyIndex && mShowPreview) { if (oldKeyIndex != mCurrentKeyIndex && mShowPreview) {
if (keyIndex == NOT_A_KEY) { if (keyIndex == NOT_A_KEY) {
mHandler.cancelPopupPreview();
if (previewPopup.isShowing()) { if (previewPopup.isShowing()) {
mHandler.dismissPreview(DELAY_AFTER_PREVIEW); mHandler.dismissPreview(DELAY_AFTER_PREVIEW);
} }
} else { } else {
showKey(keyIndex); 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);
}
} }
} }
} }
@ -1350,6 +1372,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
int keyIndex = mProximityKeyDetector.getKeyIndexAndNearbyCodes(touchX, touchY, null); int keyIndex = mProximityKeyDetector.getKeyIndexAndNearbyCodes(touchX, touchY, null);
boolean wasInKeyRepeat = mHandler.isInKeyRepeat(); boolean wasInKeyRepeat = mHandler.isInKeyRepeat();
mHandler.cancelKeyTimers(); mHandler.cancelKeyTimers();
mHandler.cancelPopupPreview();
if (mDebouncer.isMinorMoveBounce(touchX, touchY, keyIndex, mCurrentKey)) { if (mDebouncer.isMinorMoveBounce(touchX, touchY, keyIndex, mCurrentKey)) {
mDebouncer.updateTimeDebouncing(eventTime); mDebouncer.updateTimeDebouncing(eventTime);
} else { } else {
@ -1372,6 +1395,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener
private void onCancelEvent(int touchX, int touchY, long eventTime) { private void onCancelEvent(int touchX, int touchY, long eventTime) {
mHandler.cancelKeyTimers(); mHandler.cancelKeyTimers();
mHandler.cancelPopupPreview();
dismissPopupKeyboard(); dismissPopupKeyboard();
mAbortKey = true; mAbortKey = true;
showPreview(NOT_A_KEY); showPreview(NOT_A_KEY);