aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-05-13 10:50:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-05-13 10:50:32 +0000
commit5f857a359ae94298bbbcfe8848dfaafbf2fbcdc1 (patch)
treeff5442a9d075a105dca231b54d8cbc73d4366482 /java/src
parentb5f67e7faf498eac634be0cfd2b8d4ac7e9a3b76 (diff)
parente3b1bdc4f18f77f54b33776ad698d57970acd722 (diff)
downloadlatinime-5f857a359ae94298bbbcfe8848dfaafbf2fbcdc1.tar.gz
latinime-5f857a359ae94298bbbcfe8848dfaafbf2fbcdc1.tar.xz
latinime-5f857a359ae94298bbbcfe8848dfaafbf2fbcdc1.zip
Merge "Disable functional key while in sliding input mode"
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/PointerTracker.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index 5a2af8015..a8327289b 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -1168,6 +1168,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
private void onUpEventInternal(final int x, final int y, final long eventTime) {
mTimerProxy.cancelKeyTimers();
+ final boolean isInSlidingKeyInput = mIsInSlidingKeyInput;
resetSlidingKeyInput();
mIsDetectingGesture = false;
final Key currentKey = mCurrentKey;
@@ -1197,9 +1198,11 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
if (mIsTrackingForActionDisabled) {
return;
}
- if (currentKey != null && !currentKey.isRepeatable()) {
- detectAndSendKey(currentKey, mKeyX, mKeyY, eventTime);
+ if (currentKey != null && currentKey.isRepeatable() && !isInSlidingKeyInput) {
+ // Repeatable key has been registered in {@link #onDownEventInternal(int,int,long)}.
+ return;
}
+ detectAndSendKey(currentKey, mKeyX, mKeyY, eventTime);
}
public void onShowMoreKeysPanel(final int translatedX, final int translatedY,
@@ -1251,7 +1254,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
if (key == null) return;
if (!key.isRepeatable()) return;
// Don't start key repeat when we are in sliding input mode.
- if (mIsInSlidingKeyInputFromModifier) return;
+ if (mIsInSlidingKeyInput) return;
onRegisterKey(key);
mTimerProxy.startKeyRepeatTimer(this);
}
@@ -1313,7 +1316,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
// doesn't have its more keys. (e.g. spacebar, globe key)
// We always need to start the long press timer if the key has its more keys regardless of
// whether or not we are in the sliding input mode.
- if (mIsInSlidingKeyInputFromModifier && key.mMoreKeys == null) return;
+ if (mIsInSlidingKeyInput && key.mMoreKeys == null) return;
mTimerProxy.startLongPressTimer(this);
}