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

Commit 5c641a9f authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Remove WordComposer.add(int, int, int, KeyDetector) method

Change-Id: Ie6af46acba18a2d1cf3ddd1578d60ded4c90f89a
parent 040aa28e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ public class KeyDetector {
        return x + mCorrectionX;
    }

    // TODO: Remove vertical correction.
    public int getTouchY(int y) {
        return y + mCorrectionY;
    }
+9 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ public interface KeyboardActionListener {
     */
    public void onCodeInput(int primaryCode, int x, int y);

    // See {@link Adapter#isInvalidCoordinate(int)}.
    public static final int NOT_A_TOUCH_COORDINATE = -1;
    public static final int SUGGESTION_STRIP_COORDINATE = -2;
    public static final int SPELL_CHECKER_COORDINATE = -3;
@@ -89,5 +90,13 @@ public interface KeyboardActionListener {
        public boolean onCustomRequest(int requestCode) {
            return false;
        }

        // TODO: Remove this method when the vertical correction is removed.
        public static boolean isInvalidCoordinate(int coordinate) {
            // Detect {@link KeyboardActionListener#NOT_A_TOUCH_COORDINATE},
            // {@link KeyboardActionListener#SUGGESTION_STRIP_COORDINATE}, and
            // {@link KeyboardActionListener#SPELL_CHECKER_COORDINATE}.
            return coordinate < 0;
        }
    }
}
+13 −2
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
import com.android.inputmethod.compat.CompatUtils;
import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
import com.android.inputmethod.compat.SuggestionSpanUtils;
import com.android.inputmethod.keyboard.KeyDetector;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardActionListener;
import com.android.inputmethod.keyboard.KeyboardId;
@@ -1505,8 +1506,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            clearSuggestions();
        }
        if (isComposingWord) {
            mWordComposer.add(
                    primaryCode, x, y, mKeyboardSwitcher.getKeyboardView().getKeyDetector());
            final int keyX, keyY;
            if (KeyboardActionListener.Adapter.isInvalidCoordinate(x)
                    || KeyboardActionListener.Adapter.isInvalidCoordinate(y)) {
                keyX = x;
                keyY = y;
            } else {
                final KeyDetector keyDetector =
                        mKeyboardSwitcher.getKeyboardView().getKeyDetector();
                keyX = keyDetector.getTouchX(x);
                keyY = keyDetector.getTouchY(y);
            }
            mWordComposer.add(primaryCode, keyX, keyY);
            // If it's the first letter, make note of auto-caps state
            if (mWordComposer.size() == 1) {
                mWordComposer.setAutoCapitalized(
+1 −20
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.inputmethod.latin;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.KeyDetector;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardActionListener;

import java.util.Arrays;

@@ -121,28 +120,10 @@ public class WordComposer {
        return previous && !Character.isUpperCase(codePoint);
    }

    // TODO: remove input keyDetector
    public void add(int primaryCode, int x, int y, KeyDetector keyDetector) {
        final int keyX;
        final int keyY;
        if (null == keyDetector
                || x == KeyboardActionListener.SUGGESTION_STRIP_COORDINATE
                || y == KeyboardActionListener.SUGGESTION_STRIP_COORDINATE
                || x == KeyboardActionListener.NOT_A_TOUCH_COORDINATE
                || y == KeyboardActionListener.NOT_A_TOUCH_COORDINATE) {
            keyX = x;
            keyY = y;
        } else {
            keyX = keyDetector.getTouchX(x);
            keyY = keyDetector.getTouchY(y);
        }
        add(primaryCode, keyX, keyY);
    }

    /**
     * Add a new keystroke, with the pressed key's code point with the touch point coordinates.
     */
    private void add(int primaryCode, int keyX, int keyY) {
    public void add(int primaryCode, int keyX, int keyY) {
        final int newIndex = size();
        mTypedWord.appendCodePoint(primaryCode);
        refreshSize();
+2 −2
Original line number Diff line number Diff line
@@ -768,9 +768,9 @@ public class AndroidSpellCheckerService extends SpellCheckerService
                            codePoint, mScript);
                    if (SpellCheckerProximityInfo.NOT_A_COORDINATE_PAIR == xy) {
                        composer.add(codePoint, WordComposer.NOT_A_COORDINATE,
                                WordComposer.NOT_A_COORDINATE, null);
                                WordComposer.NOT_A_COORDINATE);
                    } else {
                        composer.add(codePoint, xy & 0xFFFF, xy >> 16, null);
                        composer.add(codePoint, xy & 0xFFFF, xy >> 16);
                    }
                }