aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-09-28 21:01:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-09-28 21:01:46 -0700
commitc2c9cd82da81f87aeb81675bbae6b76bac3b83ca (patch)
tree91858630777132c7367a5730f061c100aa7498d6 /java/src
parent46941882b2c3f7467ce3d77be6948cfa7aafe548 (diff)
parentafb353277928b9c13a97f2aefde7412f432e060a (diff)
downloadlatinime-c2c9cd82da81f87aeb81675bbae6b76bac3b83ca.tar.gz
latinime-c2c9cd82da81f87aeb81675bbae6b76bac3b83ca.tar.xz
latinime-c2c9cd82da81f87aeb81675bbae6b76bac3b83ca.zip
Merge "Mini keyboard works even while shift is being pressed" into gingerbread
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java14
-rw-r--r--java/src/com/android/inputmethod/latin/PointerTracker.java5
2 files changed, 14 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index 3761dab14..75ef691c8 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -205,6 +205,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private long mMiniKeyboardPopupTime;
private int[] mWindowOffset;
private final float mMiniKeyboardSlideAllowance;
+ private int mMiniKeyboardTrackerId;
/** Listener for {@link OnKeyboardActionListener}. */
private OnKeyboardActionListener mKeyboardActionListener;
@@ -1023,6 +1024,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
if (result) {
dismissKeyPreview();
tracker.setAlreadyProcessed();
+ mMiniKeyboardTrackerId = tracker.mPointerId;
}
return result;
}
@@ -1258,9 +1260,15 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
// Needs to be called after the gesture detector gets a turn, as it may have
// displayed the mini keyboard
if (mMiniKeyboard != null) {
- MotionEvent translated = generateMiniKeyboardMotionEvent(action, x, y, eventTime);
- mMiniKeyboard.onTouchEvent(translated);
- translated.recycle();
+ final int miniKeyboardPointerIndex = me.findPointerIndex(mMiniKeyboardTrackerId);
+ if (miniKeyboardPointerIndex >= 0 && miniKeyboardPointerIndex < pointerCount) {
+ final int miniKeyboardX = (int)me.getX(miniKeyboardPointerIndex);
+ final int miniKeyboardY = (int)me.getY(miniKeyboardPointerIndex);
+ MotionEvent translated = generateMiniKeyboardMotionEvent(action,
+ miniKeyboardX, miniKeyboardY, eventTime);
+ mMiniKeyboard.onTouchEvent(translated);
+ translated.recycle();
+ }
return true;
}
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java
index b56974ccf..b416a984c 100644
--- a/java/src/com/android/inputmethod/latin/PointerTracker.java
+++ b/java/src/com/android/inputmethod/latin/PointerTracker.java
@@ -515,7 +515,8 @@ public class PointerTracker {
int primaryCode = key.codes[0];
code = String.format((primaryCode < 0) ? "%4d" : "0x%02x", primaryCode);
}
- Log.d(TAG, String.format("%s [%d] %3d,%3d %3d(%s) %s", title, mPointerId, x, y, keyIndex,
- code, isModifier() ? "modifier" : ""));
+ Log.d(TAG, String.format("%s%s[%d] %3d,%3d %3d(%s) %s", title,
+ (mKeyAlreadyProcessed ? "-" : " "), mPointerId, x, y, keyIndex, code,
+ (isModifier() ? "modifier" : "")));
}
}