Merge "Fix not intercepting touch event while in modal mode"
diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
index f7b6f91..907e3fa 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
@@ -40,6 +40,8 @@
         public abstract void onSuggestionSelected(final SuggestedWordInfo info);
     }
 
+    private boolean mIsInModalMode;
+
     public MoreSuggestionsView(final Context context, final AttributeSet attrs) {
         this(context, attrs, R.attr.moreKeysKeyboardViewStyle);
     }
@@ -53,6 +55,7 @@
     @Override
     public void setKeyboard(final Keyboard keyboard) {
         super.setKeyboard(keyboard);
+        mIsInModalMode = false;
         // With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the
         // above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call.
         // With accessibility mode on, {@link #mAccessibilityDelegate} is set to a
@@ -74,12 +77,17 @@
         updateKeyDrawParams(keyHeight);
     }
 
-    public void adjustVerticalCorrectionForModalMode() {
+    public void setModalMode() {
+        mIsInModalMode = true;
         // Set vertical correction to zero (Reset more keys keyboard sliding allowance
         // {@link R#dimen.config_more_keys_keyboard_slide_allowance}).
         mKeyDetector.setKeyboard(getKeyboard(), -getPaddingLeft(), -getPaddingTop());
     }
 
+    public boolean isInModalMode() {
+        return mIsInModalMode;
+    }
+
     @Override
     protected void onKeyInput(final Key key, final int x, final int y) {
         if (!(key instanceof MoreSuggestionKey)) {
diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
index 631289b..197a544 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
@@ -393,6 +393,9 @@
 
     @Override
     public boolean onInterceptTouchEvent(final MotionEvent me) {
+        if (mMoreSuggestionsView.isInModalMode()) {
+            return false;
+        }
         if (!mMoreSuggestionsView.isShowingInParent()) {
             mLastX = (int)me.getX();
             mLastY = (int)me.getY();
@@ -416,7 +419,7 @@
 
         if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP) {
             // Decided to be in the modal input mode.
-            mMoreSuggestionsView.adjustVerticalCorrectionForModalMode();
+            mMoreSuggestionsView.setModalMode();
         }
         return false;
     }