aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2011-09-20 19:17:19 +0900
committerTadashi G. Takaoka <takaoka@google.com>2011-09-21 10:42:50 +0900
commit3fc4ddec68b4f56f53ed6da80b5e44f38c085740 (patch)
tree809118ebdba8f61c8399f8254c7e1dfc0ffb7054 /java/src
parent51e3e4d801248253bd4510325c936d4c96b78d0b (diff)
downloadlatinime-3fc4ddec68b4f56f53ed6da80b5e44f38c085740.tar.gz
latinime-3fc4ddec68b4f56f53ed6da80b5e44f38c085740.tar.xz
latinime-3fc4ddec68b4f56f53ed6da80b5e44f38c085740.zip
Sliding suggestions strip starts showing more suggestions
Bug: 5301019 Change-Id: I87daa9e472f9e93a6da9de754376b7fa4740171a
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestionsView.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/SuggestionsView.java b/java/src/com/android/inputmethod/latin/SuggestionsView.java
index fbb277372..0785169e2 100644
--- a/java/src/com/android/inputmethod/latin/SuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/SuggestionsView.java
@@ -41,6 +41,7 @@ import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.text.style.UnderlineSpan;
import android.util.AttributeSet;
+import android.view.GestureDetector;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -547,6 +548,8 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
final Resources res = context.getResources();
mMoreSuggestionsModalTolerance = res.getDimensionPixelOffset(
R.dimen.more_suggestions_modal_tolerance);
+ mMoreSuggestionsSlidingDetector = new GestureDetector(
+ context, mMoreSuggestionsSlidingListener);
}
private final View.OnTouchListener mMoreSuggestionsCanceller = new View.OnTouchListener() {
@@ -791,6 +794,10 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
@Override
public boolean onLongClick(View view) {
+ return showMoreSuggestions();
+ }
+
+ private boolean showMoreSuggestions() {
final SuggestionsViewParams params = mParams;
if (params.mMoreSuggestionsAvailable) {
final int stripWidth = getWidth();
@@ -814,9 +821,11 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
mMoreSuggestionsMode = MORE_SUGGESTIONS_CHECKING_MODAL_OR_SLIDING;
mOriginX = mLastX;
mOriginY = mLastY;
- view.setPressed(false);
mKeyboardView.dimEntireKeyboard(true);
mKeyboardView.setOnTouchListener(mMoreSuggestionsCanceller);
+ for (int i = 0; i < params.mSuggestionsCountInStrip; i++) {
+ mWords.get(i).setPressed(false);
+ }
return true;
}
return false;
@@ -832,6 +841,18 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
private int mOriginX;
private int mOriginY;
private final int mMoreSuggestionsModalTolerance;
+ private final GestureDetector mMoreSuggestionsSlidingDetector;
+ private final GestureDetector.OnGestureListener mMoreSuggestionsSlidingListener =
+ new GestureDetector.SimpleOnGestureListener() {
+ @Override
+ public boolean onScroll(MotionEvent down, MotionEvent me, float deltaX, float deltaY) {
+ final float dy = me.getY() - down.getY();
+ if (deltaY > 0 && dy < 0) {
+ return showMoreSuggestions();
+ }
+ return false;
+ }
+ };
@Override
public boolean dispatchTouchEvent(MotionEvent me) {
@@ -839,6 +860,9 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
|| mMoreSuggestionsMode == MORE_SUGGESTIONS_IN_MODAL_MODE) {
mLastX = (int)me.getX();
mLastY = (int)me.getY();
+ if (mMoreSuggestionsSlidingDetector.onTouchEvent(me)) {
+ return true;
+ }
return super.dispatchTouchEvent(me);
}