Skip to content
Snippets Groups Projects
Commit 5f857a35 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Disable functional key while in sliding input mode"

parents b5f67e7f e3b1bdc4
No related branches found
No related tags found
No related merge requests found
...@@ -1168,6 +1168,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { ...@@ -1168,6 +1168,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
private void onUpEventInternal(final int x, final int y, final long eventTime) { private void onUpEventInternal(final int x, final int y, final long eventTime) {
mTimerProxy.cancelKeyTimers(); mTimerProxy.cancelKeyTimers();
final boolean isInSlidingKeyInput = mIsInSlidingKeyInput;
resetSlidingKeyInput(); resetSlidingKeyInput();
mIsDetectingGesture = false; mIsDetectingGesture = false;
final Key currentKey = mCurrentKey; final Key currentKey = mCurrentKey;
...@@ -1197,9 +1198,11 @@ public final class PointerTracker implements PointerTrackerQueue.Element { ...@@ -1197,9 +1198,11 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
if (mIsTrackingForActionDisabled) { if (mIsTrackingForActionDisabled) {
return; return;
} }
if (currentKey != null && !currentKey.isRepeatable()) { if (currentKey != null && currentKey.isRepeatable() && !isInSlidingKeyInput) {
detectAndSendKey(currentKey, mKeyX, mKeyY, eventTime); // 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, public void onShowMoreKeysPanel(final int translatedX, final int translatedY,
...@@ -1251,7 +1254,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { ...@@ -1251,7 +1254,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
if (key == null) return; if (key == null) return;
if (!key.isRepeatable()) return; if (!key.isRepeatable()) return;
// Don't start key repeat when we are in sliding input mode. // Don't start key repeat when we are in sliding input mode.
if (mIsInSlidingKeyInputFromModifier) return; if (mIsInSlidingKeyInput) return;
onRegisterKey(key); onRegisterKey(key);
mTimerProxy.startKeyRepeatTimer(this); mTimerProxy.startKeyRepeatTimer(this);
} }
...@@ -1313,7 +1316,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { ...@@ -1313,7 +1316,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
// doesn't have its more keys. (e.g. spacebar, globe key) // 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 // 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. // 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); mTimerProxy.startLongPressTimer(this);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment