aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2011-09-09 00:49:15 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-09 00:49:15 -0700
commitf01ba10c8ff968c1723f963af84deed712ab2921 (patch)
treeb1312926e987ac9c54c617d08cbe4b0f81deccf9 /java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
parent530b4176c2a53ef5599eb3a89fcf3ebff90fa84f (diff)
parent4a9be115f26aff8cfdfcc4f0c24e54ffd8086695 (diff)
downloadlatinime-f01ba10c8ff968c1723f963af84deed712ab2921.tar.gz
latinime-f01ba10c8ff968c1723f963af84deed712ab2921.tar.xz
latinime-f01ba10c8ff968c1723f963af84deed712ab2921.zip
Merge "Cancel more suggestions when its outside is touched"
Diffstat (limited to 'java/src/com/android/inputmethod/latin/MoreSuggestionsView.java')
-rw-r--r--java/src/com/android/inputmethod/latin/MoreSuggestionsView.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
index a5ff5330e..695e60ffd 100644
--- a/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
@@ -145,6 +145,13 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
// Nothing to do with.
}
+ private final View.OnTouchListener mMotionEventDelegate = new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View view, MotionEvent me) {
+ return MoreSuggestionsView.this.dispatchTouchEvent(me);
+ }
+ };
+
@Override
public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY,
PopupWindow window, KeyboardActionListener listener) {
@@ -163,6 +170,10 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
- (container.getMeasuredHeight() - container.getPaddingBottom())
+ parentView.getPaddingTop() + mCoordinates[1];
+ container.setOnTouchListener(mMotionEventDelegate);
+ window.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED);
+ window.setFocusable(true);
+ window.setOutsideTouchable(true);
window.setContentView(container);
window.setWidth(container.getMeasuredWidth());
window.setHeight(container.getMeasuredHeight());
@@ -218,6 +229,19 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
};
@Override
+ public boolean dispatchTouchEvent(MotionEvent me) {
+ final int x = (int)me.getX();
+ final int y = (int)me.getY();
+ final boolean inside = (x >= 0 && x < getWidth() && y >= 0 && y < getHeight());
+ if (inside) {
+ return super.dispatchTouchEvent(me);
+ } else {
+ dismissMoreKeysPanel();
+ return true;
+ }
+ }
+
+ @Override
public boolean onTouchEvent(MotionEvent me) {
final int action = me.getAction();
final long eventTime = me.getEventTime();