diff options
author | 2010-09-28 21:55:19 -0700 | |
---|---|---|
committer | 2010-09-28 21:55:19 -0700 | |
commit | e3da18803d757390ae3a0224c31d100e83324503 (patch) | |
tree | 10012be2a302da92ab80e022834bfaa7389e22ea /java/src | |
parent | f48637a5b2ac1c28403c385adf7f02965274b7bf (diff) | |
parent | fcd5f2b9b4229c00a6589aad1fda9b727759d343 (diff) | |
download | latinime-e3da18803d757390ae3a0224c31d100e83324503.tar.gz latinime-e3da18803d757390ae3a0224c31d100e83324503.tar.xz latinime-e3da18803d757390ae3a0224c31d100e83324503.zip |
am fcd5f2b9: am c2c9cd82: Merge "Mini keyboard works even while shift is being pressed" into gingerbread
Merge commit 'fcd5f2b9b4229c00a6589aad1fda9b727759d343'
* commit 'fcd5f2b9b4229c00a6589aad1fda9b727759d343':
Mini keyboard works even while shift is being pressed
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java | 14 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/PointerTracker.java | 5 |
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" : ""))); } } |