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

Commit c665cbee authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge "Forward the capitalized mode to the positional info (D1)"

parents 15ea1d40 b6b7f5e3
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -45,19 +45,21 @@ public final class LastComposedWord {
    public final String mCommittedWord;
    public final String mCommittedWord;
    public final String mSeparatorString;
    public final String mSeparatorString;
    public final String mPrevWord;
    public final String mPrevWord;
    public final int mCapitalizedMode;
    public final InputPointers mInputPointers =
    public final InputPointers mInputPointers =
            new InputPointers(Constants.Dictionary.MAX_WORD_LENGTH);
            new InputPointers(Constants.Dictionary.MAX_WORD_LENGTH);


    private boolean mActive;
    private boolean mActive;


    public static final LastComposedWord NOT_A_COMPOSED_WORD =
    public static final LastComposedWord NOT_A_COMPOSED_WORD =
            new LastComposedWord(null, null, "", "", NOT_A_SEPARATOR, null);
            new LastComposedWord(null, null, "", "", NOT_A_SEPARATOR, null,
            WordComposer.CAPS_MODE_OFF);


    // Warning: this is using the passed objects as is and fully expects them to be
    // Warning: this is using the passed objects as is and fully expects them to be
    // immutable. Do not fiddle with their contents after you passed them to this constructor.
    // immutable. Do not fiddle with their contents after you passed them to this constructor.
    public LastComposedWord(final int[] primaryKeyCodes, final InputPointers inputPointers,
    public LastComposedWord(final int[] primaryKeyCodes, final InputPointers inputPointers,
            final String typedWord, final String committedWord,
            final String typedWord, final String committedWord, final String separatorString,
            final String separatorString, final String prevWord) {
            final String prevWord, final int capitalizedMode) {
        mPrimaryKeyCodes = primaryKeyCodes;
        mPrimaryKeyCodes = primaryKeyCodes;
        if (inputPointers != null) {
        if (inputPointers != null) {
            mInputPointers.copy(inputPointers);
            mInputPointers.copy(inputPointers);
@@ -67,6 +69,7 @@ public final class LastComposedWord {
        mSeparatorString = separatorString;
        mSeparatorString = separatorString;
        mActive = true;
        mActive = true;
        mPrevWord = prevWord;
        mPrevWord = prevWord;
        mCapitalizedMode = capitalizedMode;
    }
    }


    public void deactivate() {
    public void deactivate() {
+2 −1
Original line number Original line Diff line number Diff line
@@ -1225,7 +1225,8 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
        }
        }
        mPositionalInfoForUserDictPendingAddition =
        mPositionalInfoForUserDictPendingAddition =
                new PositionalInfoForUserDictPendingAddition(
                new PositionalInfoForUserDictPendingAddition(
                        word, mLastSelectionEnd, getCurrentInputEditorInfo());
                        word, mLastSelectionEnd, getCurrentInputEditorInfo(),
                        mLastComposedWord.mCapitalizedMode);
        mUserDictionary.addWordToUserDictionary(word, 128);
        mUserDictionary.addWordToUserDictionary(word, 128);
    }
    }


+3 −1
Original line number Original line Diff line number Diff line
@@ -33,13 +33,15 @@ public final class PositionalInfoForUserDictPendingAddition {
    final private String mOriginalWord;
    final private String mOriginalWord;
    final private int mCursorPos; // Position of the cursor after the word
    final private int mCursorPos; // Position of the cursor after the word
    final private EditorInfo mEditorInfo; // On what binding this has been added
    final private EditorInfo mEditorInfo; // On what binding this has been added
    final private int mCapitalizedMode;
    private String mActualWordBeingAdded;
    private String mActualWordBeingAdded;


    public PositionalInfoForUserDictPendingAddition(final String word, final int cursorPos,
    public PositionalInfoForUserDictPendingAddition(final String word, final int cursorPos,
            final EditorInfo editorInfo) {
            final EditorInfo editorInfo, final int capitalizedMode) {
        mOriginalWord = word;
        mOriginalWord = word;
        mCursorPos = cursorPos;
        mCursorPos = cursorPos;
        mEditorInfo = editorInfo;
        mEditorInfo = editorInfo;
        mCapitalizedMode = capitalizedMode;
    }
    }


    public void setActualWordBeingAdded(final String actualWordBeingAdded) {
    public void setActualWordBeingAdded(final String actualWordBeingAdded) {
+2 −1
Original line number Original line Diff line number Diff line
@@ -350,7 +350,7 @@ public final class WordComposer {
        mPrimaryKeyCodes = new int[MAX_WORD_LENGTH];
        mPrimaryKeyCodes = new int[MAX_WORD_LENGTH];
        final LastComposedWord lastComposedWord = new LastComposedWord(primaryKeyCodes,
        final LastComposedWord lastComposedWord = new LastComposedWord(primaryKeyCodes,
                mInputPointers, mTypedWord.toString(), committedWord, separatorString,
                mInputPointers, mTypedWord.toString(), committedWord, separatorString,
                prevWord);
                prevWord, mCapitalizedMode);
        mInputPointers.reset();
        mInputPointers.reset();
        if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD
        if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD
                && type != LastComposedWord.COMMIT_TYPE_MANUAL_PICK) {
                && type != LastComposedWord.COMMIT_TYPE_MANUAL_PICK) {
@@ -374,6 +374,7 @@ public final class WordComposer {
        mTypedWord.setLength(0);
        mTypedWord.setLength(0);
        mTypedWord.append(lastComposedWord.mTypedWord);
        mTypedWord.append(lastComposedWord.mTypedWord);
        refreshSize();
        refreshSize();
        mCapitalizedMode = lastComposedWord.mCapitalizedMode;
        mAutoCorrection = null; // This will be filled by the next call to updateSuggestion.
        mAutoCorrection = null; // This will be filled by the next call to updateSuggestion.
        mIsResumed = true;
        mIsResumed = true;
    }
    }