Skip to content
Snippets Groups Projects
Commit c902dfeb authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Fix gesture detection when sliding key input is disabled

Bug: 6867837
Change-Id: Icbfa69928c436343db545860a7d63171f52266b6
parent 941f222c
No related branches found
No related tags found
No related merge requests found
......@@ -794,13 +794,16 @@ public class PointerTracker {
final int dx = x - lastX;
final int dy = y - lastY;
final int lastMoveSquared = dx * dx + dy * dy;
// TODO: Should find a way to balance gesture detection and this hack.
if (sNeedsPhantomSuddenMoveEventHack
&& lastMoveSquared >= mKeyQuarterWidthSquared) {
&& lastMoveSquared >= mKeyQuarterWidthSquared
&& !mIsPossibleGesture) {
if (DEBUG_MODE) {
Log.w(TAG, String.format("onMoveEvent:"
+ " phantom sudden move event is translated to "
+ "up[%d,%d]/down[%d,%d] events", lastX, lastY, x, y));
}
// TODO: This should be moved to outside of this nested if-clause?
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.pointerTracker_onMoveEvent(x, y, lastX, lastY);
}
......@@ -816,7 +819,9 @@ public class PointerTracker {
&& !sPointerTrackerQueue.hasModifierKeyOlderThan(this)) {
onUpEventInternal(x, y, eventTime);
}
mKeyAlreadyProcessed = true;
if (!mIsPossibleGesture) {
mKeyAlreadyProcessed = true;
}
setReleasedKeyGraphics(oldKey);
}
}
......@@ -832,7 +837,9 @@ public class PointerTracker {
if (mIsAllowedSlidingKeyInput) {
onMoveToNewKey(key, x, y);
} else {
mKeyAlreadyProcessed = true;
if (!mIsPossibleGesture) {
mKeyAlreadyProcessed = true;
}
}
}
}
......@@ -871,6 +878,7 @@ public class PointerTracker {
private void onUpEventInternal(int x, int y, long eventTime) {
mTimerProxy.cancelKeyTimers();
mIsInSlidingKeyInput = false;
mIsPossibleGesture = false;
// Release the last pressed key.
setReleasedKeyGraphics(mCurrentKey);
if (mIsShowingMoreKeysPanel) {
......
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