aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2010-04-06 12:38:59 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-04-06 12:38:59 -0700
commit4f695092a2b0e9717eb32667f0903a10088e3df6 (patch)
tree8273613c3b8dd5297b56f54681d1123bd4006a3d /java/src/com/android/inputmethod/latin/LatinKeyboardView.java
parent443c360d0afdbab091994244f045f4756feaf2b4 (diff)
parent3e0c82ec80a69c4adbd60546c3c56c83c43ec7eb (diff)
downloadlatinime-4f695092a2b0e9717eb32667f0903a10088e3df6.tar.gz
latinime-4f695092a2b0e9717eb32667f0903a10088e3df6.tar.xz
latinime-4f695092a2b0e9717eb32667f0903a10088e3df6.zip
am 3e0c82ec: Fix for 2568664 : Slide gesture on spacebar is not reliable anymore
Merge commit '3e0c82ec80a69c4adbd60546c3c56c83c43ec7eb' into froyo-plus-aosp * commit '3e0c82ec80a69c4adbd60546c3c56c83c43ec7eb': Fix for 2568664 : Slide gesture on spacebar is not reliable anymore
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinKeyboardView.java')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardView.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
index 83eac57ab..37dda5e47 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
@@ -63,6 +63,8 @@ public class LatinKeyboardView extends KeyboardView {
private boolean mDisableDisambiguation;
/** The distance threshold at which we start treating the touch session as a multi-touch */
private int mJumpThresholdSquare = Integer.MAX_VALUE;
+ /** The y coordinate of the last row */
+ private int mLastRowY;
public LatinKeyboardView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -82,6 +84,8 @@ public class LatinKeyboardView extends KeyboardView {
// One-seventh of the keyboard width seems like a reasonable threshold
mJumpThresholdSquare = k.getMinWidth() / 7;
mJumpThresholdSquare *= mJumpThresholdSquare;
+ // Assuming there are 4 rows, this is the coordinate of the last row
+ mLastRowY = (k.getHeight() * 3) / 4;
setKeyboardLocal(k);
}
@@ -139,7 +143,11 @@ public class LatinKeyboardView extends KeyboardView {
case MotionEvent.ACTION_MOVE:
// Is this a big jump?
final int distanceSquare = (mLastX - x) * (mLastX - x) + (mLastY - y) * (mLastY - y);
- if (distanceSquare > mJumpThresholdSquare) {
+ // Check the distance and also if the move is not entirely within the bottom row
+ // If it's only in the bottom row, it might be an intentional slide gesture
+ // for language switching
+ if (distanceSquare > mJumpThresholdSquare
+ && (mLastY < mLastRowY || y < mLastRowY)) {
// If we're not yet dropping events, start dropping and send an UP event
if (!mDroppingEvents) {
mDroppingEvents = true;