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

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

Forward the capitalized mode to the positional info (D1)

Bug: 7972124
Change-Id: I3c74f3b075e698b9e9dd1d2c7b6f173073539063
parent 5e45fbf0
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -45,19 +45,21 @@ public final class LastComposedWord {
    public final String mCommittedWord;
    public final String mSeparatorString;
    public final String mPrevWord;
    public final int mCapitalizedMode;
    public final InputPointers mInputPointers =
            new InputPointers(Constants.Dictionary.MAX_WORD_LENGTH);

    private boolean mActive;

    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
    // immutable. Do not fiddle with their contents after you passed them to this constructor.
    public LastComposedWord(final int[] primaryKeyCodes, final InputPointers inputPointers,
            final String typedWord, final String committedWord,
            final String separatorString, final String prevWord) {
            final String typedWord, final String committedWord, final String separatorString,
            final String prevWord, final int capitalizedMode) {
        mPrimaryKeyCodes = primaryKeyCodes;
        if (inputPointers != null) {
            mInputPointers.copy(inputPointers);
@@ -67,6 +69,7 @@ public final class LastComposedWord {
        mSeparatorString = separatorString;
        mActive = true;
        mPrevWord = prevWord;
        mCapitalizedMode = capitalizedMode;
    }

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

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

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

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