Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a73a79c authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Fix not intercepting touch event while in modal mode"

parents b5dface8 d144b787
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
        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 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
    @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 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
        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)) {
+4 −1
Original line number Diff line number Diff line
@@ -393,6 +393,9 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick

    @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 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick

        if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP) {
            // Decided to be in the modal input mode.
            mMoreSuggestionsView.adjustVerticalCorrectionForModalMode();
            mMoreSuggestionsView.setModalMode();
        }
        return false;
    }