am 335a0c55: am 938c1782: Fix for hanging extension keyboard. Bug: 2593488

main
Amith Yamasani 2010-04-15 17:00:07 -07:00 committed by Android Git Automerger
commit 857cde9007
1 changed files with 4 additions and 2 deletions

View File

@ -192,12 +192,12 @@ public class LatinKeyboardView extends KeyboardView {
mLastY = (int) me.getY(); mLastY = (int) me.getY();
invalidate(); invalidate();
} }
// If an extension keyboard is visible or this is an extension keyboard, don't look // 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 // for sudden jumps. Otherwise, if there was a sudden jump, return without processing the
// actual motion event. // actual motion event.
if (!mExtensionVisible && !mIsExtensionType if (!mExtensionVisible && !mIsExtensionType
&& handleSuddenJump(me)) return true; && handleSuddenJump(me)) return true;
// Reset any bounding box controls in the keyboard // Reset any bounding box controls in the keyboard
if (me.getAction() == MotionEvent.ACTION_DOWN) { if (me.getAction() == MotionEvent.ACTION_DOWN) {
keyboard.keyReleased(); keyboard.keyReleased();
@ -219,7 +219,9 @@ public class LatinKeyboardView extends KeyboardView {
if (keyboard.getExtension() == 0) { if (keyboard.getExtension() == 0) {
return super.onTouchEvent(me); 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) { if (mExtensionVisible) {
int action = me.getAction(); int action = me.getAction();
if (mFirstEvent) action = MotionEvent.ACTION_DOWN; if (mFirstEvent) action = MotionEvent.ACTION_DOWN;