mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-06-29 04:09:55 +00:00
Fix autosuggest.
Move setting.
This commit is contained in:
parent
5c705a9482
commit
ac4ce0856e
6 changed files with 21 additions and 21 deletions
|
@ -302,7 +302,7 @@ public class LatinIME extends InputMethodService implements
|
|||
if (latinIme == null) {
|
||||
return;
|
||||
}
|
||||
if (!latinIme.mSettings.getCurrent().isSuggestionsEnabledPerUserSettings()) {
|
||||
if (!latinIme.mSettings.getCurrent().needsToLookupSuggestions()) {
|
||||
return;
|
||||
}
|
||||
removeMessages(MSG_RESUME_SUGGESTIONS);
|
||||
|
|
|
@ -59,12 +59,10 @@ import helium314.keyboard.latin.utils.ScriptUtils;
|
|||
import helium314.keyboard.latin.utils.StatsUtils;
|
||||
import helium314.keyboard.latin.utils.TextRange;
|
||||
import helium314.keyboard.latin.utils.TimestampKt;
|
||||
import helium314.keyboard.latin.utils.ToolbarMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.regex.Pattern;
|
||||
|
@ -1229,7 +1227,7 @@ public final class InputLogic {
|
|||
//
|
||||
// Note: restartSuggestionsOnWordTouchedByCursor is already called for normal
|
||||
// (non-revert) backspace handling.
|
||||
if (inputTransaction.getMSettingsValues().isSuggestionsEnabledPerUserSettings()
|
||||
if (inputTransaction.getMSettingsValues().needsToLookupSuggestions()
|
||||
&& inputTransaction.getMSettingsValues().mSpacingAndPunctuations.mCurrentLanguageHasSpaces) {
|
||||
restartSuggestionsOnWordTouchedByCursor(inputTransaction.getMSettingsValues(), currentKeyboardScript);
|
||||
}
|
||||
|
@ -1364,7 +1362,7 @@ public final class InputLogic {
|
|||
}
|
||||
if (mConnection.hasSlowInputConnection()) {
|
||||
mSuggestionStripViewAccessor.setNeutralSuggestionStrip();
|
||||
} else if (inputTransaction.getMSettingsValues().isSuggestionsEnabledPerUserSettings()
|
||||
} else if (inputTransaction.getMSettingsValues().needsToLookupSuggestions()
|
||||
&& inputTransaction.getMSettingsValues().mSpacingAndPunctuations.mCurrentLanguageHasSpaces) {
|
||||
restartSuggestionsOnWordTouchedByCursor(inputTransaction.getMSettingsValues(), currentKeyboardScript);
|
||||
}
|
||||
|
@ -1373,7 +1371,7 @@ public final class InputLogic {
|
|||
|
||||
String getWordAtCursor(final SettingsValues settingsValues, final String currentKeyboardScript) {
|
||||
if (!mConnection.hasSelection()
|
||||
&& settingsValues.isSuggestionsEnabledPerUserSettings()
|
||||
&& settingsValues.needsToLookupSuggestions()
|
||||
&& settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces) {
|
||||
final TextRange range = mConnection.getWordRangeAtCursor(settingsValues.mSpacingAndPunctuations, currentKeyboardScript);
|
||||
if (range != null) {
|
||||
|
@ -1689,7 +1687,7 @@ public final class InputLogic {
|
|||
&& mLatinIME.tryShowClipboardSuggestion())) {
|
||||
mSuggestionStripViewAccessor.setSuggestions(suggestedWords);
|
||||
}
|
||||
if (! suggestedWords.isEmpty() && isEmojiSearch()) {
|
||||
if (shouldAutoShowSuggestions(settingsValues, suggestedWords)) {
|
||||
mSuggestionStripViewAccessor.showSuggestionStrip();
|
||||
}
|
||||
}
|
||||
|
@ -1822,12 +1820,16 @@ public final class InputLogic {
|
|||
mIsAutoCorrectionIndicatorOn = false;
|
||||
if (suggestedWords != null) {
|
||||
mSuggestionStripViewAccessor.setSuggestions(suggestedWords);
|
||||
if (! suggestedWords.isEmpty() && isEmojiSearch()) {
|
||||
if (shouldAutoShowSuggestions(Settings.getValues(), suggestedWords)) {
|
||||
mSuggestionStripViewAccessor.showSuggestionStrip();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldAutoShowSuggestions(SettingsValues settingsValues, SuggestedWords suggestedWords) {
|
||||
return ! suggestedWords.isEmpty() && settingsValues.isSuggestionsEnabledPerUserSettings() && isEmojiSearch();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverts a previous commit with auto-correction.
|
||||
* <p>
|
||||
|
@ -2611,8 +2613,7 @@ public final class InputLogic {
|
|||
}
|
||||
|
||||
private void updateEmojiDictionary(Locale locale) {
|
||||
if (Settings.getValues().mInlineEmojiSearch
|
||||
&& Set.of(ToolbarMode.SUGGESTION_STRIP, ToolbarMode.EXPANDABLE).contains(Settings.getValues().mToolbarMode)) {
|
||||
if (Settings.getValues().mInlineEmojiSearch && Settings.getValues().needsToLookupSuggestions()) {
|
||||
if (mEmojiDictionaryFacilitator == null || ! mEmojiDictionaryFacilitator.isForLocale(locale)) {
|
||||
closeEmojiDictionary();
|
||||
var dictFile = DictionaryInfoUtils.getCachedDictForLocaleAndType(locale, "emoji", mLatinIME);
|
||||
|
|
|
@ -239,8 +239,8 @@ public class SettingsValues {
|
|||
&& ((inputAttributes.mInputType & InputType.TYPE_MASK_VARIATION) != InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT
|
||||
|| !prefs.getBoolean(Settings.PREF_ALWAYS_SHOW_SUGGESTIONS_EXCEPT_WEB_TEXT, Defaults.PREF_ALWAYS_SHOW_SUGGESTIONS_EXCEPT_WEB_TEXT));
|
||||
final boolean suggestionsEnabled = prefs.getBoolean(Settings.PREF_SHOW_SUGGESTIONS, Defaults.PREF_SHOW_SUGGESTIONS);
|
||||
mSuggestionsEnabledPerUserSettings = ((mInputAttributes.mShouldShowSuggestions && suggestionsEnabled)
|
||||
|| mOverrideShowingSuggestions) && !mSuggestionStripHiddenPerUserSettings;
|
||||
mSuggestionsEnabledPerUserSettings = suggestionsEnabled && (mInputAttributes.mShouldShowSuggestions || mOverrideShowingSuggestions)
|
||||
&& !mSuggestionStripHiddenPerUserSettings;
|
||||
mSecondaryStripVisible = mToolbarMode != ToolbarMode.HIDDEN || ! mToolbarHidingGlobal;
|
||||
mIncognitoModeEnabled = prefs.getBoolean(Settings.PREF_ALWAYS_INCOGNITO_MODE, Defaults.PREF_ALWAYS_INCOGNITO_MODE) || mInputAttributes.mNoLearning
|
||||
|| mInputAttributes.mIsPasswordField;
|
||||
|
|
|
@ -58,8 +58,6 @@ fun PreferencesScreen(
|
|||
Settings.PREF_SOUND_ON,
|
||||
if (prefs.getBoolean(Settings.PREF_SOUND_ON, Defaults.PREF_SOUND_ON))
|
||||
Settings.PREF_KEYPRESS_SOUND_VOLUME else null,
|
||||
if (Settings.readToolbarMode(prefs) in setOf(ToolbarMode.SUGGESTION_STRIP, ToolbarMode.EXPANDABLE))
|
||||
Settings.PREF_INLINE_EMOJI_SEARCH else null,
|
||||
Settings.PREF_SHOW_EMOJI_DESCRIPTIONS,
|
||||
R.string.settings_category_additional_keys,
|
||||
Settings.PREF_SHOW_NUMBER_ROW,
|
||||
|
@ -115,12 +113,6 @@ fun createPreferencesSettings(context: Context) = listOf(
|
|||
Setting(context, Settings.PREF_SOUND_ON, R.string.sound_on_keypress) {
|
||||
SwitchPreference(it, Defaults.PREF_SOUND_ON)
|
||||
},
|
||||
Setting(
|
||||
context, Settings.PREF_INLINE_EMOJI_SEARCH, R.string.inline_emoji_search,
|
||||
R.string.inline_emoji_search_summary
|
||||
) {
|
||||
SwitchPreference(it, Defaults.PREF_INLINE_EMOJI_SEARCH)
|
||||
},
|
||||
Setting(
|
||||
context, Settings.PREF_SHOW_EMOJI_DESCRIPTIONS, R.string.show_emoji_descriptions,
|
||||
R.string.show_emoji_descriptions_summary
|
||||
|
|
|
@ -76,6 +76,7 @@ fun TextCorrectionScreen(
|
|||
if (suggestionsEnabled && prefs.getBoolean(Settings.PREF_ALWAYS_SHOW_SUGGESTIONS, Defaults.PREF_ALWAYS_SHOW_SUGGESTIONS))
|
||||
Settings.PREF_ALWAYS_SHOW_SUGGESTIONS_EXCEPT_WEB_TEXT else null,
|
||||
if (suggestionsEnabled) Settings.PREF_CENTER_SUGGESTION_TEXT_TO_ENTER else null,
|
||||
if (suggestionsEnabled || autocorrectEnabled) Settings.PREF_INLINE_EMOJI_SEARCH else null,
|
||||
Settings.PREF_KEY_USE_PERSONALIZED_DICTS,
|
||||
Settings.PREF_BIGRAM_PREDICTIONS,
|
||||
Settings.PREF_SUGGEST_CLIPBOARD_CONTENT,
|
||||
|
@ -233,6 +234,12 @@ fun createCorrectionSettings(context: Context) = listOf(
|
|||
) { setting ->
|
||||
SwitchPreference(setting, Defaults.PREF_USE_APPS)
|
||||
},
|
||||
Setting(
|
||||
context, Settings.PREF_INLINE_EMOJI_SEARCH, R.string.inline_emoji_search,
|
||||
R.string.inline_emoji_search_summary
|
||||
) {
|
||||
SwitchPreference(it, Defaults.PREF_INLINE_EMOJI_SEARCH)
|
||||
},
|
||||
Setting(context, Settings.PREF_ADD_TO_PERSONAL_DICTIONARY,
|
||||
R.string.add_to_personal_dictionary, R.string.add_to_personal_dictionary_summary
|
||||
) {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<!-- Option to perform inline emoji search -->
|
||||
<string name="inline_emoji_search">Focused emoji suggestions</string>
|
||||
<!-- Description for option to perform inline emoji search -->
|
||||
<string name="inline_emoji_search_summary">Show only emoji suggestions when a word is preceded by a colon</string>
|
||||
<string name="inline_emoji_search_summary">Suggest only emojis when a word is preceded by a colon</string>
|
||||
<!-- Option to show emoji descriptions on long press -->
|
||||
<string name="show_emoji_descriptions">Show emoji description on long press</string>
|
||||
<!-- Description for option to show emoji descriptions on long press -->
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue