aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-07-16 22:56:00 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-07-16 22:56:00 -0700
commit44f92495c1a916c89a603266977fb15a8c64372a (patch)
treefe8720319447df79e4d9253c244db74e23507e36 /java/src
parent1342666d6ae48999a9522373f91a9e3161d17ecf (diff)
parent353c20a62ffe9b21b4efa9a6d3be2c1492e6ab83 (diff)
downloadlatinime-44f92495c1a916c89a603266977fb15a8c64372a.tar.gz
latinime-44f92495c1a916c89a603266977fb15a8c64372a.tar.xz
latinime-44f92495c1a916c89a603266977fb15a8c64372a.zip
Merge "Slightly reluctant to scroll candidate strip to be able to easily choose the suggestion"
Diffstat (limited to 'java/src')
-rwxr-xr-xjava/src/com/android/inputmethod/latin/CandidateView.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java
index ae45001b8..93966a86c 100755
--- a/java/src/com/android/inputmethod/latin/CandidateView.java
+++ b/java/src/com/android/inputmethod/latin/CandidateView.java
@@ -144,9 +144,13 @@ public class CandidateView extends View {
mPaint.setStrokeWidth(0);
mPaint.setTextAlign(Align.CENTER);
mDescent = (int) mPaint.descent();
- // 80 pixels for a 160dpi device would mean half an inch
+ // 50 pixels for a 160dpi device would mean about 0.3 inch
mMinTouchableWidth = (int) (getResources().getDisplayMetrics().density * 50);
+ // Slightly reluctant to scroll to be able to easily choose the suggestion
+ // 50 pixels for a 160dpi device would mean about 0.3 inch
+ final int touchSlop = (int) (getResources().getDisplayMetrics().density * 50);
+ final int touchSlopSquare = touchSlop * touchSlop;
mGestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
@Override
public void onLongPress(MotionEvent me) {
@@ -160,6 +164,13 @@ public class CandidateView extends View {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
+ final int deltaX = (int) (e2.getX() - e1.getX());
+ final int deltaY = (int) (e2.getY() - e1.getY());
+ final int distance = (deltaX * deltaX) + (deltaY * deltaY);
+ if (distance < touchSlopSquare) {
+ return false;
+ }
+
final int width = getWidth();
mScrolled = true;
int scrollX = getScrollX();