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

Commit 0351b816 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Hide voice input key from URI, Email, Number, and Phone layout

Bug: 15709298
Change-Id: I05d9433d4e1c2cc475a2136cc97bc32bde6fc745
parent 4c45fff2
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -41,6 +41,7 @@ public final class InputAttributes {
    final public boolean mShouldShowSuggestions;
    final public boolean mShouldShowSuggestions;
    final public boolean mApplicationSpecifiedCompletionOn;
    final public boolean mApplicationSpecifiedCompletionOn;
    final public boolean mShouldInsertSpacesAutomatically;
    final public boolean mShouldInsertSpacesAutomatically;
    final public boolean mShouldShowVoiceInputKey;
    final private int mInputType;
    final private int mInputType;
    final private EditorInfo mEditorInfo;
    final private EditorInfo mEditorInfo;
    final private String mPackageNameForPrivateImeOptions;
    final private String mPackageNameForPrivateImeOptions;
@@ -74,6 +75,7 @@ public final class InputAttributes {
            mInputTypeNoAutoCorrect = false;
            mInputTypeNoAutoCorrect = false;
            mApplicationSpecifiedCompletionOn = false;
            mApplicationSpecifiedCompletionOn = false;
            mShouldInsertSpacesAutomatically = false;
            mShouldInsertSpacesAutomatically = false;
            mShouldShowVoiceInputKey = false;
            return;
            return;
        }
        }
        // inputClass == InputType.TYPE_CLASS_TEXT
        // inputClass == InputType.TYPE_CLASS_TEXT
@@ -99,6 +101,12 @@ public final class InputAttributes {


        mShouldInsertSpacesAutomatically = InputTypeUtils.isAutoSpaceFriendlyType(inputType);
        mShouldInsertSpacesAutomatically = InputTypeUtils.isAutoSpaceFriendlyType(inputType);


        final boolean noMicrophone = mIsPasswordField
                || InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS == variation
                || InputType.TYPE_TEXT_VARIATION_URI == variation
                || hasNoMicrophoneKeyOption();
        mShouldShowVoiceInputKey = !noMicrophone;

        // If it's a browser edit field and auto correct is not ON explicitly, then
        // If it's a browser edit field and auto correct is not ON explicitly, then
        // disable auto correction, but keep suggestions on.
        // disable auto correction, but keep suggestions on.
        // If NO_SUGGESTIONS is set, don't do prediction.
        // If NO_SUGGESTIONS is set, don't do prediction.
@@ -119,7 +127,7 @@ public final class InputAttributes {
        return editorInfo.inputType == mInputType;
        return editorInfo.inputType == mInputType;
    }
    }


    public boolean hasNoMicrophoneKeyOption() {
    private boolean hasNoMicrophoneKeyOption() {
        @SuppressWarnings("deprecation")
        @SuppressWarnings("deprecation")
        final boolean deprecatedNoMicrophone = InputAttributes.inPrivateImeOptions(
        final boolean deprecatedNoMicrophone = InputAttributes.inPrivateImeOptions(
                null, NO_MICROPHONE_COMPAT, mEditorInfo);
                null, NO_MICROPHONE_COMPAT, mEditorInfo);
+1 −2
Original line number Original line Diff line number Diff line
@@ -125,8 +125,7 @@ public final class SettingsValues {
        mSlidingKeyInputPreviewEnabled = prefs.getBoolean(
        mSlidingKeyInputPreviewEnabled = prefs.getBoolean(
                DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW, true);
                DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW, true);
        mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res)
        mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res)
                && !mInputAttributes.mIsPasswordField
                && mInputAttributes.mShouldShowVoiceInputKey
                && !mInputAttributes.hasNoMicrophoneKeyOption()
                && SubtypeSwitcher.getInstance().isShortcutImeEnabled();
                && SubtypeSwitcher.getInstance().isShortcutImeEnabled();
        final String autoCorrectionThresholdRawValue = prefs.getString(
        final String autoCorrectionThresholdRawValue = prefs.getString(
                Settings.PREF_AUTO_CORRECTION_THRESHOLD,
                Settings.PREF_AUTO_CORRECTION_THRESHOLD,