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

Commit 8ab4ae43 authored by Jean Chalard's avatar Jean Chalard
Browse files

[IL133] Avoid calling a dangerous method from outside.

We want to remove all calls to this as it lets internal values
escape, but there is some refactoring to do to finish this.

Bug: 8636060
Change-Id: Iedba6afe4719bc0add868714a1ee5a04b7ead33e
parent 9320553a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -297,12 +297,19 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
    }

    // Implements {@link KeyboardState.SwitchActions}.
    // TODO[IL]: merge the two following methods; remove the one without args.
    @Override
    public void requestUpdatingShiftState() {
        mState.onUpdateShiftState(mLatinIME.getCurrentAutoCapsState(),
                mLatinIME.getCurrentRecapitalizeState());
    }

    // Future method for requesting an updating to the shift state.
    public void requestUpdatingShiftState(final int currentAutoCapsState,
            final int currentRecapitalizeState) {
        mState.onUpdateShiftState(currentAutoCapsState, currentRecapitalizeState);
    }

    // Implements {@link KeyboardState.SwitchActions}.
    @Override
    public void startDoubleTapShiftKeyTimer() {
+10 −5
Original line number Diff line number Diff line
@@ -197,7 +197,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
                        latinIme.mSettings.getCurrent());
                break;
            case MSG_UPDATE_SHIFT_STATE:
                switcher.requestUpdatingShiftState();
                switcher.requestUpdatingShiftState(latinIme.getCurrentAutoCapsState(),
                        latinIme.getCurrentRecapitalizeState());
                break;
            case MSG_SHOW_GESTURE_PREVIEW_AND_SUGGESTION_STRIP:
                if (msg.arg1 == ARG1_NOT_GESTURE_INPUT) {
@@ -833,7 +834,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            // we need to re-evaluate the shift state, but not the whole layout which would be
            // disruptive.
            // Space state must be updated before calling updateShiftState
            switcher.requestUpdatingShiftState();
            switcher.requestUpdatingShiftState(getCurrentAutoCapsState(),
                    getCurrentRecapitalizeState());
        }
        // This will set the punctuation suggestions if next word suggestion is off;
        // otherwise it will clear the suggestion strip.
@@ -912,7 +914,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        // TODO: find a better way to simulate actual execution.
        if (isInputViewShown() &&
                mInputLogic.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd)) {
            mKeyboardSwitcher.requestUpdatingShiftState();
            mKeyboardSwitcher.requestUpdatingShiftState(getCurrentAutoCapsState(),
                    getCurrentRecapitalizeState());
        }

        mSubtypeState.currentSubtypeUsed();
@@ -1256,7 +1259,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        // TODO: have the keyboard pass the correct key code when we need it.
        final Event event = Event.createSoftwareTextEvent(rawText, Event.NOT_A_KEY_CODE);
        mInputLogic.onTextInput(mSettings.getCurrent(), event, mHandler);
        mKeyboardSwitcher.requestUpdatingShiftState();
        mKeyboardSwitcher.requestUpdatingShiftState(getCurrentAutoCapsState(),
                getCurrentRecapitalizeState());
        mKeyboardSwitcher.onCodeInput(Constants.CODE_OUTPUT_TEXT, getCurrentAutoCapsState());
    }

@@ -1500,7 +1504,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            mHandler.postUpdateShiftState();
            break;
        case InputTransaction.SHIFT_UPDATE_NOW:
            mKeyboardSwitcher.requestUpdatingShiftState();
            mKeyboardSwitcher.requestUpdatingShiftState(getCurrentAutoCapsState(),
                    getCurrentRecapitalizeState());
            break;
        default: // SHIFT_NO_UPDATE
        }
+6 −3
Original line number Diff line number Diff line
@@ -537,7 +537,8 @@ public final class InputLogic {
                // after typing some letters and a period, then gesturing; the keyboard is not in
                // caps mode yet, but since a gesture is starting, it should go in caps mode,
                // unless the user explictly said it should not.
                keyboardSwitcher.requestUpdatingShiftState();
                keyboardSwitcher.requestUpdatingShiftState(getCurrentAutoCapsState(settingsValues),
                        getCurrentRecapitalizeState());
            }
        }
        mConnection.endBatchEdit();
@@ -579,7 +580,8 @@ public final class InputLogic {
                    promotePhantomSpace(settingsValues);
                    mConnection.commitText(commitParts[0], 0);
                    mSpaceState = SpaceState.PHANTOM;
                    keyboardSwitcher.requestUpdatingShiftState();
                    keyboardSwitcher.requestUpdatingShiftState(
                            getCurrentAutoCapsState(settingsValues), getCurrentRecapitalizeState());
                    mWordComposer.setCapitalizedModeAndPreviousWordAtStartComposingTime(
                            getActualCapsMode(settingsValues,
                                    keyboardSwitcher.getKeyboardShiftMode()), commitParts[0]);
@@ -1821,7 +1823,8 @@ public final class InputLogic {
        }
        // Space state must be updated before calling updateShiftState
        mSpaceState = SpaceState.PHANTOM;
        keyboardSwitcher.requestUpdatingShiftState();
        keyboardSwitcher.requestUpdatingShiftState(getCurrentAutoCapsState(settingsValues),
                getCurrentRecapitalizeState());
    }

    /**