Allow gesture from the delete key

And inputting unexpected word while repeating the gesture
Bug: 7303982
Change-Id: I17bb6a689397500fa0e26706d6e07e427ea0b4d7
This commit is contained in:
Satoshi Kataoka 2013-09-25 14:14:14 +09:00
parent 9c3b2dbe34
commit 0938fb6913

View file

@ -937,9 +937,10 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
if (!sShouldHandleGesture) { if (!sShouldHandleGesture) {
return; return;
} }
// A gesture should start only from a non-modifier key. // A gesture should start only from a non-modifier key. Note that the gesture detection is
// disabled when the key is repeating.
mIsDetectingGesture = (mKeyboard != null) && mKeyboard.mId.isAlphabetKeyboard() mIsDetectingGesture = (mKeyboard != null) && mKeyboard.mId.isAlphabetKeyboard()
&& key != null && !key.isModifier() && !key.isRepeatable(); && key != null && !key.isModifier();
if (mIsDetectingGesture) { if (mIsDetectingGesture) {
if (getActivePointerTrackerCount() == 1) { if (getActivePointerTrackerCount() == 1) {
sGestureFirstDownTime = eventTime; sGestureFirstDownTime = eventTime;
@ -1422,6 +1423,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
if (key == null || key.getCode() != code) { if (key == null || key.getCode() != code) {
return; return;
} }
mIsDetectingGesture = false;
final int nextRepeatCount = repeatCount + 1; final int nextRepeatCount = repeatCount + 1;
mTimerProxy.startKeyRepeatTimer(this, nextRepeatCount, sParams.mKeyRepeatInterval); mTimerProxy.startKeyRepeatTimer(this, nextRepeatCount, sParams.mKeyRepeatInterval);
callListenerOnPressAndCheckKeyboardLayoutChange(key, repeatCount); callListenerOnPressAndCheckKeyboardLayoutChange(key, repeatCount);