Skip to content
Snippets Groups Projects
Commit d144b787 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Fix not intercepting touch event while in modal mode

Bug: 17600156
Change-Id: Ife8f04550411d88311e08dd33e370a410d791ca2
parent 5fa6a538
No related branches found
No related tags found
No related merge requests found
...@@ -40,6 +40,8 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView { ...@@ -40,6 +40,8 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
public abstract void onSuggestionSelected(final SuggestedWordInfo info); public abstract void onSuggestionSelected(final SuggestedWordInfo info);
} }
private boolean mIsInModalMode;
public MoreSuggestionsView(final Context context, final AttributeSet attrs) { public MoreSuggestionsView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.moreKeysKeyboardViewStyle); this(context, attrs, R.attr.moreKeysKeyboardViewStyle);
} }
...@@ -53,6 +55,7 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView { ...@@ -53,6 +55,7 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
@Override @Override
public void setKeyboard(final Keyboard keyboard) { public void setKeyboard(final Keyboard keyboard) {
super.setKeyboard(keyboard); super.setKeyboard(keyboard);
mIsInModalMode = false;
// With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the // With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the
// above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call. // above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call.
// With accessibility mode on, {@link #mAccessibilityDelegate} is set to a // With accessibility mode on, {@link #mAccessibilityDelegate} is set to a
...@@ -74,12 +77,17 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView { ...@@ -74,12 +77,17 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
updateKeyDrawParams(keyHeight); updateKeyDrawParams(keyHeight);
} }
public void adjustVerticalCorrectionForModalMode() { public void setModalMode() {
mIsInModalMode = true;
// Set vertical correction to zero (Reset more keys keyboard sliding allowance // Set vertical correction to zero (Reset more keys keyboard sliding allowance
// {@link R#dimen.config_more_keys_keyboard_slide_allowance}). // {@link R#dimen.config_more_keys_keyboard_slide_allowance}).
mKeyDetector.setKeyboard(getKeyboard(), -getPaddingLeft(), -getPaddingTop()); mKeyDetector.setKeyboard(getKeyboard(), -getPaddingLeft(), -getPaddingTop());
} }
public boolean isInModalMode() {
return mIsInModalMode;
}
@Override @Override
protected void onKeyInput(final Key key, final int x, final int y) { protected void onKeyInput(final Key key, final int x, final int y) {
if (!(key instanceof MoreSuggestionKey)) { if (!(key instanceof MoreSuggestionKey)) {
......
...@@ -393,6 +393,9 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick ...@@ -393,6 +393,9 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
@Override @Override
public boolean onInterceptTouchEvent(final MotionEvent me) { public boolean onInterceptTouchEvent(final MotionEvent me) {
if (mMoreSuggestionsView.isInModalMode()) {
return false;
}
if (!mMoreSuggestionsView.isShowingInParent()) { if (!mMoreSuggestionsView.isShowingInParent()) {
mLastX = (int)me.getX(); mLastX = (int)me.getX();
mLastY = (int)me.getY(); mLastY = (int)me.getY();
...@@ -416,7 +419,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick ...@@ -416,7 +419,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP) { if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP) {
// Decided to be in the modal input mode. // Decided to be in the modal input mode.
mMoreSuggestionsView.adjustVerticalCorrectionForModalMode(); mMoreSuggestionsView.setModalMode();
} }
return false; return false;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment