Skip to content
Snippets Groups Projects
Commit 938c1782 authored by Amith Yamasani's avatar Amith Yamasani
Browse files

Fix for hanging extension keyboard. Bug: 2593488

Sometimes the only motion event that is above the keyboard is the UP
event. In that case we can't expect one more event to come that will
dismiss the extension. So don't show the extension if the only Y < 0
event is an UP event.

Change-Id: I04a8b742dea03cd700006dc5df740ac7d9620c0b
parent 48832c86
No related branches found
No related tags found
No related merge requests found
......@@ -192,12 +192,12 @@ public class LatinKeyboardView extends KeyboardView {
mLastY = (int) me.getY();
invalidate();
}
// If an extension keyboard is visible or this is an extension keyboard, don't look
// for sudden jumps. Otherwise, if there was a sudden jump, return without processing the
// actual motion event.
if (!mExtensionVisible && !mIsExtensionType
&& handleSuddenJump(me)) return true;
// Reset any bounding box controls in the keyboard
if (me.getAction() == MotionEvent.ACTION_DOWN) {
keyboard.keyReleased();
......@@ -219,7 +219,9 @@ public class LatinKeyboardView extends KeyboardView {
if (keyboard.getExtension() == 0) {
return super.onTouchEvent(me);
}
if (me.getY() < 0) {
// If the motion event is above the keyboard and it's not an UP event coming
// even before the first MOVE event into the extension area
if (me.getY() < 0 && (mExtensionVisible || me.getAction() != MotionEvent.ACTION_UP)) {
if (mExtensionVisible) {
int action = me.getAction();
if (mFirstEvent) action = MotionEvent.ACTION_DOWN;
......
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