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

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

Move final attributes to SettingsValues (B2)

Bug: 6675475
Bug: 6677394
Change-Id: I4a26efb9226d3f909f331c4d2e47cd83a05c011e
parent 6ebd9395
Loading
Loading
Loading
Loading
+32 −33
Original line number Diff line number Diff line
@@ -872,7 +872,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        if (ProductionFlag.IS_EXPERIMENTAL) {
            ResearchLogger.latinIME_onDisplayCompletions(applicationSpecifiedCompletions);
        }
        if (null != mInputAttributes && mInputAttributes.mApplicationSpecifiedCompletionOn) {
        if (!mCurrentSettings.isApplicationSpecifiedCompletionsOn()) return;
        mApplicationSpecifiedCompletions = applicationSpecifiedCompletions;
        if (applicationSpecifiedCompletions == null) {
            clearSuggestions();
@@ -899,7 +899,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        mWordComposer.setAutoCorrection(mWordComposer.getTypedWord());
        setSuggestionStripShown(true);
    }
    }

    private void setSuggestionStripShownInternal(boolean shown, boolean needsInputViewShown) {
        // TODO: Modify this if we support suggestions with hard keyboard
@@ -1277,8 +1276,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            }
            break;
        default:
            if (primaryCode == Keyboard.CODE_TAB
                    && mInputAttributes.mEditorAction == EditorInfo.IME_ACTION_NEXT) {
            if (primaryCode == Keyboard.CODE_TAB && mCurrentSettings.isEditorActionNext()) {
                performEditorAction(EditorInfo.IME_ACTION_NEXT);
                break;
            }
@@ -1628,7 +1626,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen

    public boolean isSuggestionsRequested() {
        // TODO: move this method to mCurrentSettings
        return (null != mInputAttributes && mInputAttributes.mIsSettingsSuggestionStripOn)
        return mCurrentSettings.isSuggestionStripRequestedByTextField()
                && (mCurrentSettings.isCorrectionOn()
                || mCurrentSettings.isSuggestionStripVisibleInOrientation(mDisplayOrientation));
    }
@@ -1645,7 +1643,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            return true;
        if (!mCurrentSettings.isSuggestionStripVisibleInOrientation(mDisplayOrientation))
            return false;
        if (null != mInputAttributes && mInputAttributes.mApplicationSpecifiedCompletionOn)
        if (mCurrentSettings.isApplicationSpecifiedCompletionsOn())
            return true;
        return isSuggestionsRequested();
    }
@@ -1827,7 +1825,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            }
        }

        if ((null != mInputAttributes && mInputAttributes.mApplicationSpecifiedCompletionOn)
        if (mCurrentSettings.isApplicationSpecifiedCompletionsOn()
                && mApplicationSpecifiedCompletions != null
                && index >= 0 && index < mApplicationSpecifiedCompletions.length) {
            if (mSuggestionsView != null) {
@@ -2224,13 +2222,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        final Keyboard keyboard = mKeyboardSwitcher.getKeyboard();
        final int keyboardMode = keyboard != null ? keyboard.mId.mMode : -1;
        p.println("  Keyboard mode = " + keyboardMode);
        p.println("  mIsSuggestionsRequested=" + mInputAttributes.mIsSettingsSuggestionStripOn);
        p.println("  mIsSuggestionsStripRequestedByTextField = "
                + mCurrentSettings.isSuggestionStripRequestedByTextField());
        p.println("  mCorrectionMode=" + mCurrentSettings.mCorrectionMode);
        p.println("  isComposingWord=" + mWordComposer.isComposingWord());
        p.println("  isCorrectionOn=" + mCurrentSettings.isCorrectionOn());
        p.println("  mSoundOn=" + mCurrentSettings.mSoundOn);
        p.println("  mVibrateOn=" + mCurrentSettings.mVibrateOn);
        p.println("  mKeyPreviewPopupOn=" + mCurrentSettings.mKeyPreviewPopupOn);
        p.println("  mInputAttributes=" + mInputAttributes.toString());
        p.println("  inputAttributes=" + mCurrentSettings.getInputAttributesDebugString());
    }
}
+30 −3
Original line number Diff line number Diff line
@@ -87,6 +87,9 @@ public class SettingsValues {
    private final float mKeypressSoundVolumeRawValue;
    private final InputMethodSubtype[] mAdditionalSubtypes;

    // From the input box
    private final InputAttributes mInputAttributes;

    // Deduced settings
    public final int mKeypressVibrationDuration;
    public final float mFxVolume;
@@ -125,6 +128,13 @@ public class SettingsValues {
                mSymbolsExcludedFromWordSeparators, res);
        mHintToSaveText = context.getText(R.string.hint_add_to_dictionary);

        // Store the input attributes
        if (null == inputAttributes) {
            mInputAttributes = new InputAttributes(null, false /* isFullscreenMode */);
        } else {
            mInputAttributes = inputAttributes;
        }

        // Get the settings preferences
        mAutoCap = prefs.getBoolean(Settings.PREF_AUTO_CAP, true);
        mVibrateOn = isVibrateOn(context, prefs, res);
@@ -167,7 +177,7 @@ public class SettingsValues {
        mVoiceKeyOnMain = mVoiceMode != null && mVoiceMode.equals(voiceModeMain);
        mAdditionalSubtypes = AdditionalSubtype.createAdditionalSubtypesArray(
                getPrefAdditionalSubtypes(prefs, res));
        mCorrectionMode = createCorrectionMode(inputAttributes);
        mCorrectionMode = createCorrectionMode();
        mSuggestionVisibility = createSuggestionVisibility(res);
    }

@@ -202,9 +212,9 @@ public class SettingsValues {
        return wordSeparators;
    }

    private int createCorrectionMode(final InputAttributes inputAttributes) {
    private int createCorrectionMode() {
        final boolean shouldAutoCorrect = mAutoCorrectEnabled
                && (null == inputAttributes || !inputAttributes.mInputTypeNoAutoCorrect);
                && !mInputAttributes.mInputTypeNoAutoCorrect;
        if (mBigramSuggestionEnabled && shouldAutoCorrect) return Suggest.CORRECTION_FULL_BIGRAM;
        return shouldAutoCorrect ? Suggest.CORRECTION_FULL : Suggest.CORRECTION_NONE;
    }
@@ -226,6 +236,18 @@ public class SettingsValues {
                res.getBoolean(R.bool.config_default_vibration_enabled));
    }

    public boolean isApplicationSpecifiedCompletionsOn() {
        return mInputAttributes.mApplicationSpecifiedCompletionOn;
    }

    public boolean isEditorActionNext() {
        return mInputAttributes.mEditorAction == EditorInfo.IME_ACTION_NEXT;
    }

    public boolean isSuggestionStripRequestedByTextField() {
        return mInputAttributes.mIsSettingsSuggestionStripOn;
    }

    public boolean isCorrectionOn() {
        return mCorrectionMode == Suggest.CORRECTION_FULL
                || mCorrectionMode == Suggest.CORRECTION_FULL_BIGRAM;
@@ -413,4 +435,9 @@ public class SettingsValues {
        final String newStr = Utils.localeAndTimeHashMapToStr(map);
        prefs.edit().putString(Settings.PREF_LAST_USER_DICTIONARY_WRITE_TIME, newStr).apply();
    }

    // For debug.
    public String getInputAttributesDebugString() {
        return mInputAttributes.toString();
    }
}