aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2010-09-12 06:07:55 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-12 06:07:55 -0700
commit3e5ebd3d407b09945d1ececd47b642338100559d (patch)
treea569d5c697e4e559dd3dba4fc0ad7544d61de1dc /java
parentfcaca2121b481517718ae3c6ab02df17d3e5667e (diff)
parent65dab9078dd0c77adcc49d08c46039dad2a950f6 (diff)
downloadlatinime-3e5ebd3d407b09945d1ececd47b642338100559d.tar.gz
latinime-3e5ebd3d407b09945d1ececd47b642338100559d.tar.xz
latinime-3e5ebd3d407b09945d1ececd47b642338100559d.zip
am 65dab907: am aed01227: Fix a bug in y-axis offset for sliding finger key detection for mini popup keyboard.
Merge commit '65dab9078dd0c77adcc49d08c46039dad2a950f6' * commit '65dab9078dd0c77adcc49d08c46039dad2a950f6': Fix a bug in y-axis offset for sliding finger key detection for mini popup keyboard.
Diffstat (limited to 'java')
-rw-r--r--java/res/values/attrs.xml3
-rw-r--r--java/res/values/styles.xml1
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java15
3 files changed, 16 insertions, 3 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index e3171eb33..a8eaab9a3 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -46,6 +46,9 @@
<!-- Amount to offset the touch Y coordinate by, for bias correction. -->
<attr name="verticalCorrection" format="dimension" />
+ <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
+ <attr name="miniKeyboardSlideAllowance" format="dimension" />
+
<!-- Layout resource for popup keyboards. -->
<attr name="popupLayout" format="reference" />
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 16478c883..6ec428603 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -27,6 +27,7 @@
<item name="labelTextSize">14sp</item>
<item name="popupLayout">@layout/keyboard_popup_keyboard</item>
<item name="verticalCorrection">-10dip</item>
+ <item name="miniKeyboardSlideAllowance">30dip</item>
<item name="shadowColor">#BB000000</item>
<item name="shadowRadius">2.75</item>
<item name="backgroundDimAmount">0.5</item>
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index 5732cf703..610d95423 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -200,6 +200,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private int mMiniKeyboardOriginY;
private long mMiniKeyboardPopupTime;
private int[] mWindowOffset;
+ private float mMiniKeyboardSlideAllowance;
/** Listener for {@link OnKeyboardActionListener}. */
private OnKeyboardActionListener mKeyboardActionListener;
@@ -388,6 +389,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
case R.styleable.LatinKeyboardBaseView_verticalCorrection:
mVerticalCorrection = a.getDimensionPixelOffset(attr, 0);
break;
+ case R.styleable.LatinKeyboardBaseView_miniKeyboardSlideAllowance:
+ mMiniKeyboardSlideAllowance = a.getDimensionPixelOffset(attr, 0);
+ break;
case R.styleable.LatinKeyboardBaseView_keyPreviewLayout:
previewLayout = a.getResourceId(attr, 0);
break;
@@ -1091,8 +1095,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
} else if (x > (getMeasuredWidth() - container.getMeasuredWidth())) {
adjustedX = getMeasuredWidth() - container.getMeasuredWidth();
}
- mMiniKeyboardOriginX = adjustedX + container.getPaddingLeft();
- mMiniKeyboardOriginY = y + container.getPaddingTop();
+ mMiniKeyboardOriginX = adjustedX + container.getPaddingLeft() - mWindowOffset[0];
+ mMiniKeyboardOriginY = y + container.getPaddingTop() - mWindowOffset[1];
mMiniKeyboard.setPopupOffset(adjustedX, y);
mMiniKeyboard.setShifted(isShifted());
// Mini keyboard needs no pop-up key preview displayed.
@@ -1116,7 +1120,12 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private MotionEvent generateMiniKeyboardMotionEvent(int action, int x, int y, long eventTime) {
return MotionEvent.obtain(mMiniKeyboardPopupTime, eventTime, action,
- x - mMiniKeyboardOriginX, y - mMiniKeyboardOriginY, 0);
+ x - mMiniKeyboardOriginX,
+ // TODO: Currently just taking care of "below" of the keys in a mini popup keyboard
+ // for key detection by sliding finger. Need to take care of left, right, and
+ // upper of "edge" keys.
+ y - mMiniKeyboardOriginY - (int)mMiniKeyboardSlideAllowance,
+ 0);
}
private PointerTracker getPointerTracker(final int id) {