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

Commit a91dfff5 authored by Jean Chalard's avatar Jean Chalard
Browse files

[IL65] Pull up X,Y processing, step 4

This works because getKey{X,Y} is a no-op on
Constants.NOT_A_COORDINATE.

Bug: 8636060
Change-Id: I2f7dd96b6011f094110f7978f8ff24ef2a6e2585
parent 352286a4
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -142,7 +142,11 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
        if (code == Constants.CODE_OUTPUT_TEXT) {
            mListener.onTextInput(mCurrentKey.getOutputText());
        } else if (code != Constants.CODE_UNSPECIFIED) {
            if (getKeyboard().hasProximityCharsCorrection(code)) {
                mListener.onCodeInput(code, x, y);
            } else {
                mListener.onCodeInput(code, Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
            }
        }
    }

+6 −1
Original line number Diff line number Diff line
@@ -346,7 +346,12 @@ public final class PointerTracker implements PointerTrackerQueue.Element,
            if (code == Constants.CODE_OUTPUT_TEXT) {
                sListener.onTextInput(key.getOutputText());
            } else if (code != Constants.CODE_UNSPECIFIED) {
                if (mKeyboard.hasProximityCharsCorrection(code)) {
                    sListener.onCodeInput(code, x, y);
                } else {
                    sListener.onCodeInput(code,
                            Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
                }
            }
        }
    }
+2 −9
Original line number Diff line number Diff line
@@ -1247,21 +1247,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
    // Implementation of {@link KeyboardActionListener}.
    @Override
    public void onCodeInput(final int codePoint, final int x, final int y) {
        final int keyX, keyY;
        final Keyboard keyboard = mKeyboardSwitcher.getKeyboard();
        final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
        // x and y include some padding, but everything down the line (especially native
        // code) needs the coordinates in the keyboard frame.
        // TODO: We should reconsider which coordinate system should be used to represent
        // keyboard event. Also we should pull this up -- LatinIME has no business doing
        // this transformation, it should be done already before calling onCodeInput.
        if (keyboard != null && keyboard.hasProximityCharsCorrection(codePoint)) {
            keyX = mainKeyboardView.getKeyX(x);
            keyY = mainKeyboardView.getKeyY(y);
        } else {
            keyX = Constants.NOT_A_COORDINATE;
            keyY = Constants.NOT_A_COORDINATE;
        }
        final int keyX = mainKeyboardView.getKeyX(x);
        final int keyY = mainKeyboardView.getKeyY(y);
        mInputLogic.onCodeInput(codePoint, keyX, keyY, mHandler, mKeyboardSwitcher,
                mSubtypeSwitcher);
    }