aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/PointerTracker.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-09-02 22:23:09 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-02 22:23:09 -0700
commit7d4833a8bf83fb4b8d97374ccfe2a92c31c9d9a9 (patch)
tree36b8a5b4bcbde6921bc387b2023548664230004f /java/src/com/android/inputmethod/latin/PointerTracker.java
parentefabc4eb52154906093cf906f1d0f6e22313629f (diff)
parent22776af828c69db22d90b42d196f487095905c70 (diff)
downloadlatinime-7d4833a8bf83fb4b8d97374ccfe2a92c31c9d9a9.tar.gz
latinime-7d4833a8bf83fb4b8d97374ccfe2a92c31c9d9a9.tar.xz
latinime-7d4833a8bf83fb4b8d97374ccfe2a92c31c9d9a9.zip
am 22776af8: am c5d33b16: Fix NPE in LatinKeyboardBaseView
Merge commit '22776af828c69db22d90b42d196f487095905c70' * commit '22776af828c69db22d90b42d196f487095905c70': Fix NPE in LatinKeyboardBaseView
Diffstat (limited to 'java/src/com/android/inputmethod/latin/PointerTracker.java')
-rw-r--r--java/src/com/android/inputmethod/latin/PointerTracker.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java
index cb45e2100..a4447d58b 100644
--- a/java/src/com/android/inputmethod/latin/PointerTracker.java
+++ b/java/src/com/android/inputmethod/latin/PointerTracker.java
@@ -32,9 +32,6 @@ public class PointerTracker {
public interface UIProxy {
public void invalidateKey(Key key);
public void showPreview(int keyIndex, PointerTracker tracker);
- // TODO: These methods might be temporary.
- public void dismissPopupKeyboard();
- public boolean isMiniKeyboardOnScreen();
}
public final int mPointerId;
@@ -63,6 +60,9 @@ public class PointerTracker {
private int mStartY;
private long mDownTime;
+ // true if event is already translated to a key action (long press or mini-keyboard)
+ private boolean mKeyAlreadyProcessed;
+
// for move de-bouncing
private int mLastCodeX;
private int mLastCodeY;
@@ -140,12 +140,17 @@ public class PointerTracker {
}
}
+ public void setAlreadyProcessed() {
+ mKeyAlreadyProcessed = true;
+ }
+
public void onDownEvent(int x, int y, long eventTime) {
int keyIndex = mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null);
mCurrentKey = keyIndex;
mStartX = x;
mStartY = y;
mDownTime = eventTime;
+ mKeyAlreadyProcessed = false;
startMoveDebouncing(x, y);
startTimeDebouncing(eventTime);
checkMultiTap(eventTime, keyIndex);
@@ -230,7 +235,7 @@ public class PointerTracker {
}
showKeyPreviewAndUpdateKey(NOT_A_KEY);
// If we're not on a repeating key (which sends on a DOWN event)
- if (!wasInKeyRepeat && !mProxy.isMiniKeyboardOnScreen()) {
+ if (!wasInKeyRepeat && !mKeyAlreadyProcessed) {
detectAndSendKey(mCurrentKey, (int)x, (int)y, eventTime);
}
if (isValidKeyIndex(keyIndex))
@@ -242,7 +247,6 @@ public class PointerTracker {
debugLog("onCancelEvt:", x, y);
mHandler.cancelKeyTimers();
mHandler.cancelPopupPreview();
- mProxy.dismissPopupKeyboard();
showKeyPreviewAndUpdateKey(NOT_A_KEY);
int keyIndex = mCurrentKey;
if (isValidKeyIndex(keyIndex))