diff options
| author | Amith Yamasani <yamasani@google.com> | 2010-01-05 14:17:47 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-01-05 14:17:47 -0800 |
| commit | 4dfa3b706c1fa03962a7c6ded65bbedfa2e6b333 (patch) | |
| tree | f17e45913102be0a3765207150055a06c8c64546 /core/java | |
| parent | f2c68d64ee418f5e042b7d61ac406492b436b395 (diff) | |
| parent | 4d2c27b145969f4467cf70037eecf730572dcf5d (diff) | |
Merge "Fix for 2345922: Press and hold space in ?123 mode will give ....."
Diffstat (limited to 'core/java')
| -rwxr-xr-x | core/java/android/inputmethodservice/KeyboardView.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/inputmethodservice/KeyboardView.java b/core/java/android/inputmethodservice/KeyboardView.java index 76131fcd6316..b0c39093976b 100755 --- a/core/java/android/inputmethodservice/KeyboardView.java +++ b/core/java/android/inputmethodservice/KeyboardView.java @@ -1118,6 +1118,11 @@ public class KeyboardView extends View implements View.OnClickListener { if (action == MotionEvent.ACTION_DOWN) mSwipeTracker.clear(); mSwipeTracker.addMovement(me); + // Ignore all motion events until a DOWN. + if (mAbortKey && action != MotionEvent.ACTION_DOWN) { + return true; + } + if (mGestureDetector.onTouchEvent(me)) { showPreview(NOT_A_KEY); mHandler.removeMessages(MSG_REPEAT); @@ -1150,9 +1155,14 @@ public class KeyboardView extends View implements View.OnClickListener { mKeys[keyIndex].codes[0] : 0); if (mCurrentKey >= 0 && mKeys[mCurrentKey].repeatable) { mRepeatKeyIndex = mCurrentKey; - repeatKey(); Message msg = mHandler.obtainMessage(MSG_REPEAT); mHandler.sendMessageDelayed(msg, REPEAT_START_DELAY); + repeatKey(); + // Delivering the key could have caused an abort + if (mAbortKey) { + mRepeatKeyIndex = NOT_A_KEY; + break; + } } if (mCurrentKey != NOT_A_KEY) { Message msg = mHandler.obtainMessage(MSG_LONGPRESS, me); |
