fix issues with looking up suggestions when it should not happen

was introduced in e8e4354600
This commit is contained in:
Helium314 2024-01-21 19:02:40 +01:00
parent dbb966f7af
commit 8601b841f2
2 changed files with 8 additions and 2 deletions

View file

@ -30,6 +30,7 @@ public final class InputAttributes {
final public boolean mInputTypeNoAutoCorrect;
final public boolean mIsPasswordField;
final public boolean mShouldShowSuggestions;
final public boolean mMayOverrideShowingSuggestions;
final public boolean mApplicationSpecifiedCompletionOn;
final public boolean mShouldInsertSpacesAutomatically;
final public boolean mShouldShowVoiceInputKey;
@ -71,6 +72,7 @@ public final class InputAttributes {
+ " imeOptions=0x%08x", inputType, editorInfo.imeOptions));
}
mShouldShowSuggestions = false;
mMayOverrideShowingSuggestions = false;
mInputTypeNoAutoCorrect = false;
mApplicationSpecifiedCompletionOn = false;
mShouldInsertSpacesAutomatically = false;
@ -90,6 +92,7 @@ public final class InputAttributes {
// TODO: Have a helper method in InputTypeUtils
// Make sure that passwords are not displayed in {@link SuggestionStripView}.
mShouldShowSuggestions = !mIsPasswordField && !flagNoSuggestions;
mMayOverrideShowingSuggestions = !mIsPasswordField;
mShouldInsertSpacesAutomatically = InputTypeUtils.isAutoSpaceFriendlyType(inputType);

View file

@ -118,6 +118,7 @@ public class SettingsValues {
public final int mScoreLimitForAutocorrect;
public final boolean mAutoCorrectionEnabledPerUserSettings;
private final boolean mSuggestionsEnabledPerUserSettings;
private final boolean mOverrideShowingSuggestions;
public final SettingsValuesForSuggestion mSettingsValuesForSuggestion;
public final boolean mIncognitoModeEnabled;
private final AsyncResultHolder<AppWorkaroundsUtils> mAppWorkarounds;
@ -188,8 +189,9 @@ public class SettingsValues {
&& prefs.getBoolean(Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, true);
mAutoCorrectionEnabledPerUserSettings = mAutoCorrectEnabled;
//&& !mInputAttributes.mInputTypeNoAutoCorrect; // follow that request or not?
mOverrideShowingSuggestions = mInputAttributes.mMayOverrideShowingSuggestions && readSuggestionsOverrideEnabled(prefs);
mSuggestionsEnabledPerUserSettings = (mInputAttributes.mShouldShowSuggestions && readSuggestionsEnabled(prefs))
|| (!mInputAttributes.mIsPasswordField && readSuggestionsOverrideEnabled(prefs));
|| mOverrideShowingSuggestions;
mIncognitoModeEnabled = Settings.readAlwaysIncognitoMode(prefs) || mInputAttributes.mNoLearning
|| mInputAttributes.mIsPasswordField;
mKeyboardHeightScale = prefs.getFloat(Settings.PREF_KEYBOARD_HEIGHT_SCALE, DEFAULT_SIZE_SCALE);
@ -248,7 +250,8 @@ public class SettingsValues {
}
public boolean needsToLookupSuggestions() {
return mAutoCorrectionEnabledPerUserSettings || isSuggestionsEnabledPerUserSettings();
return (mInputAttributes.mShouldShowSuggestions || mOverrideShowingSuggestions)
&& (mAutoCorrectionEnabledPerUserSettings || isSuggestionsEnabledPerUserSettings());
}
public boolean isSuggestionsEnabledPerUserSettings() {