mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-04-25 00:56:35 +00:00
allow showing all moreKeys
This commit is contained in:
parent
850f75585b
commit
79badf93b1
7 changed files with 46 additions and 42 deletions
|
@ -61,6 +61,10 @@ public final class KeyboardTextsSet {
|
|||
mResourceLocale = SubtypeLocaleUtils.NO_LANGUAGE.equals(locale.toString()) ? null : locale;
|
||||
mResourcePackageName = resourcePackageName;
|
||||
mTextsTables.clear();
|
||||
if (Settings.getInstance().getCurrent().mShowAllMoreKeys) {
|
||||
mTextsTables.add(KeyboardTextsTable.getTextsTable(new Locale(SubtypeLocaleUtils.NO_LANGUAGE)));
|
||||
return;
|
||||
}
|
||||
mTextsTables.add(KeyboardTextsTable.getTextsTable(locale));
|
||||
if (locale != RichInputMethodManager.getInstance().getCurrentSubtypeLocale())
|
||||
return; // emojiCategory calls this several times with "zz" locale
|
||||
|
|
|
@ -27,6 +27,7 @@ import android.os.Bundle;
|
|||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import org.dslul.openboard.inputmethod.keyboard.KeyboardLayoutSet;
|
||||
import org.dslul.openboard.inputmethod.latin.AudioAndHapticFeedbackManager;
|
||||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
import org.dslul.openboard.inputmethod.latin.SystemBroadcastReceiver;
|
||||
|
@ -160,6 +161,8 @@ public final class AdvancedSettingsFragment extends SubScreenFragment {
|
|||
public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) {
|
||||
if (key.equals(Settings.PREF_SHOW_SETUP_WIZARD_ICON)) {
|
||||
SystemBroadcastReceiver.toggleAppIcon(requireContext());
|
||||
} else if (key.equals(Settings.PREF_SHOW_ALL_MORE_KEYS)) {
|
||||
KeyboardLayoutSet.onKeyboardThemeChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,39 +88,28 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
public static final String PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE = "show_suggestions_setting";
|
||||
public static final String PREF_SHOW_SUGGESTIONS = "show_suggestions";
|
||||
public static final String PREF_KEY_USE_PERSONALIZED_DICTS = "pref_key_use_personalized_dicts";
|
||||
public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD =
|
||||
"pref_key_use_double_space_period";
|
||||
public static final String PREF_BLOCK_POTENTIALLY_OFFENSIVE =
|
||||
"pref_key_block_potentially_offensive";
|
||||
public static final boolean ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS =
|
||||
Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT;
|
||||
public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD = "pref_key_use_double_space_period";
|
||||
public static final String PREF_BLOCK_POTENTIALLY_OFFENSIVE = "pref_key_block_potentially_offensive";
|
||||
public static final boolean SHOULD_SHOW_LXX_SUGGESTION_UI =
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
|
||||
public static final String PREF_LANGUAGE_SWITCH_KEY =
|
||||
"pref_language_switch_key";
|
||||
public static final String PREF_SHOW_EMOJI_KEY =
|
||||
"pref_show_emoji_key";
|
||||
public static final String PREF_SHOW_CLIPBOARD_KEY =
|
||||
"pref_show_clipboard_key";
|
||||
public static final String PREF_LANGUAGE_SWITCH_KEY = "pref_language_switch_key";
|
||||
public static final String PREF_SHOW_EMOJI_KEY = "pref_show_emoji_key";
|
||||
public static final String PREF_SHOW_CLIPBOARD_KEY = "pref_show_clipboard_key";
|
||||
public static final String PREF_CUSTOM_INPUT_STYLES = "custom_input_styles";
|
||||
public static final String PREF_ENABLE_SPLIT_KEYBOARD = "pref_split_keyboard";
|
||||
public static final String PREF_KEYBOARD_HEIGHT_SCALE = "pref_keyboard_height_scale";
|
||||
public static final String PREF_SPACE_TRACKPAD = "pref_space_trackpad";
|
||||
public static final String PREF_DELETE_SWIPE = "pref_delete_swipe";
|
||||
public static final String PREF_AUTOSPACE_AFTER_PUNCTUATION = "pref_autospace_after_punctuation";
|
||||
public static final String PREF_ALWAYS_INCOGNITO_MODE =
|
||||
"pref_always_incognito_mode";
|
||||
public static final String PREF_ALWAYS_INCOGNITO_MODE = "pref_always_incognito_mode";
|
||||
public static final String PREF_BIGRAM_PREDICTIONS = "next_word_prediction";
|
||||
public static final String PREF_GESTURE_INPUT = "gesture_input";
|
||||
public static final String PREF_VIBRATION_DURATION_SETTINGS =
|
||||
"pref_vibration_duration_settings";
|
||||
public static final String PREF_VIBRATION_DURATION_SETTINGS = "pref_vibration_duration_settings";
|
||||
public static final String PREF_KEYPRESS_SOUND_VOLUME = "pref_keypress_sound_volume";
|
||||
public static final String PREF_KEY_LONGPRESS_TIMEOUT = "pref_key_longpress_timeout";
|
||||
public static final String PREF_ENABLE_EMOJI_ALT_PHYSICAL_KEY =
|
||||
"pref_enable_emoji_alt_physical_key";
|
||||
public static final String PREF_ENABLE_EMOJI_ALT_PHYSICAL_KEY = "pref_enable_emoji_alt_physical_key";
|
||||
public static final String PREF_GESTURE_PREVIEW_TRAIL = "pref_gesture_preview_trail";
|
||||
public static final String PREF_GESTURE_FLOATING_PREVIEW_TEXT =
|
||||
"pref_gesture_floating_preview_text";
|
||||
public static final String PREF_GESTURE_FLOATING_PREVIEW_TEXT = "pref_gesture_floating_preview_text";
|
||||
public static final String PREF_SHOW_SETUP_WIZARD_ICON = "pref_show_setup_wizard_icon";
|
||||
|
||||
public static final String PREF_ONE_HANDED_MODE = "pref_one_handed_mode_enabled";
|
||||
|
@ -128,10 +117,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
|
||||
public static final String PREF_KEY_IS_INTERNAL = "pref_key_is_internal";
|
||||
|
||||
public static final String PREF_ENABLE_METRICS_LOGGING = "pref_enable_metrics_logging";
|
||||
|
||||
public static final String PREF_SHOW_NUMBER_ROW =
|
||||
"pref_show_number_row";
|
||||
public static final String PREF_SHOW_NUMBER_ROW = "pref_show_number_row";
|
||||
|
||||
public static final String PREF_SHOW_HINTS = "pref_show_hints";
|
||||
|
||||
|
@ -147,6 +133,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
public static final String PREF_ENABLED_INPUT_STYLES = "pref_enabled_input_styles";
|
||||
public static final String PREF_SELECTED_INPUT_STYLE = "pref_selected_input_style";
|
||||
public static final String PREF_USE_SYSTEM_LOCALES = "pref_use_system_locales";
|
||||
public static final String PREF_SHOW_ALL_MORE_KEYS = "pref_show_all_more_keys";
|
||||
|
||||
public static final String PREF_DONT_SHOW_MISSING_DICTIONARY_DIALOG = "pref_dont_show_missing_dict_dialog";
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.content.res.Configuration;
|
|||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
@ -89,6 +90,7 @@ public class SettingsValues {
|
|||
public final boolean mOneHandedModeEnabled;
|
||||
public final int mOneHandedModeGravity;
|
||||
public final boolean mNarrowKeyGaps;
|
||||
public final boolean mShowAllMoreKeys;
|
||||
public final List<Locale> mSecondaryLocales;
|
||||
// Use bigrams to predict the next word when there is no input for it yet
|
||||
public final boolean mBigramPredictionEnabled;
|
||||
|
@ -101,7 +103,6 @@ public class SettingsValues {
|
|||
public final boolean mShowAppIcon;
|
||||
public final boolean mIsShowAppIconSettingInPreferences;
|
||||
public final boolean mCloudSyncEnabled;
|
||||
public final boolean mEnableMetricsLogging;
|
||||
public final boolean mShouldShowLxxSuggestionUi;
|
||||
// Use split layout for keyboard.
|
||||
public final boolean mIsSplitKeyboardEnabled;
|
||||
|
@ -180,7 +181,6 @@ public class SettingsValues {
|
|||
mBigramPredictionEnabled = readBigramPredictionEnabled(prefs, res);
|
||||
mDoubleSpacePeriodTimeout = res.getInteger(R.integer.config_double_space_period_timeout);
|
||||
mHasHardwareKeyboard = Settings.readHasHardwareKeyboard(res.getConfiguration());
|
||||
mEnableMetricsLogging = prefs.getBoolean(Settings.PREF_ENABLE_METRICS_LOGGING, true);
|
||||
mIsSplitKeyboardEnabled = prefs.getBoolean(Settings.PREF_ENABLE_SPLIT_KEYBOARD, false);
|
||||
mScreenMetrics = Settings.readScreenMetrics(res);
|
||||
|
||||
|
@ -250,7 +250,9 @@ public class SettingsValues {
|
|||
mClipboardHistoryRetentionTime = Settings.readClipboardHistoryRetentionTime(prefs, res);
|
||||
mOneHandedModeEnabled = Settings.readOneHandedModeEnabled(prefs);
|
||||
mOneHandedModeGravity = Settings.readOneHandedModeGravity(prefs);
|
||||
mSecondaryLocales = Settings.getSecondaryLocales(prefs, SubtypeSettingsKt.getSelectedSubtype(prefs).getLocale());
|
||||
final InputMethodSubtype selectedSubtype = SubtypeSettingsKt.getSelectedSubtype(prefs);
|
||||
mSecondaryLocales = Settings.getSecondaryLocales(prefs, selectedSubtype.getLocale());
|
||||
mShowAllMoreKeys = selectedSubtype.isAsciiCapable() && prefs.getBoolean(Settings.PREF_SHOW_ALL_MORE_KEYS, false);
|
||||
|
||||
mColors = Settings.getColorsForCurrentTheme(context, prefs);
|
||||
|
||||
|
@ -260,10 +262,6 @@ public class SettingsValues {
|
|||
mNarrowKeyGaps = prefs.getBoolean(Settings.PREF_NARROW_KEY_GAPS, true);
|
||||
}
|
||||
|
||||
public boolean isMetricsLoggingEnabled() {
|
||||
return mEnableMetricsLogging;
|
||||
}
|
||||
|
||||
public boolean isApplicationSpecifiedCompletionsOn() {
|
||||
return mInputAttributes.mApplicationSpecifiedCompletionOn;
|
||||
}
|
||||
|
|
|
@ -16,13 +16,11 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.latin.utils;
|
||||
|
||||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
import org.dslul.openboard.inputmethod.compat.InputMethodSubtypeCompatUtils;
|
||||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
import org.dslul.openboard.inputmethod.latin.common.StringUtils;
|
||||
|
||||
|
@ -66,13 +64,17 @@ public final class AdditionalSubtypeUtils {
|
|||
localeString, keyboardLayoutSetName, isAsciiCapable, isEmojiCapable);
|
||||
final int platformVersionIndependentSubtypeId =
|
||||
getPlatformVersionIndependentSubtypeId(localeString, keyboardLayoutSetName);
|
||||
// NOTE: In KitKat and later, InputMethodSubtypeBuilder#setIsAsciiCapable is also available.
|
||||
// TODO: Use InputMethodSubtypeBuilder#setIsAsciiCapable when appropriate.
|
||||
return new InputMethodSubtype(nameId,
|
||||
R.drawable.ic_ime_switcher_dark, localeString, KEYBOARD_MODE,
|
||||
platformVersionDependentExtraValues,
|
||||
false /* isAuxiliary */, false /* overrideImplicitlyEnabledSubtype */,
|
||||
platformVersionIndependentSubtypeId);
|
||||
return new InputMethodSubtype.InputMethodSubtypeBuilder()
|
||||
.setSubtypeNameResId(nameId)
|
||||
.setSubtypeIconResId(R.drawable.ic_ime_switcher_dark)
|
||||
.setSubtypeLocale(localeString)
|
||||
.setSubtypeMode(KEYBOARD_MODE)
|
||||
.setSubtypeExtraValue(platformVersionDependentExtraValues)
|
||||
.setIsAuxiliary(false)
|
||||
.setOverridesImplicitlyEnabledSubtype(false)
|
||||
.setSubtypeId(platformVersionIndependentSubtypeId)
|
||||
.setIsAsciiCapable(isAsciiCapable)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static InputMethodSubtype createDummyAdditionalSubtype(
|
||||
|
@ -111,7 +113,7 @@ public final class AdditionalSubtypeUtils {
|
|||
if (subtype != null)
|
||||
subtypesList.add(subtype);
|
||||
}
|
||||
return subtypesList.toArray(new InputMethodSubtype[subtypesList.size()]);
|
||||
return subtypesList.toArray(new InputMethodSubtype[0]);
|
||||
}
|
||||
|
||||
// use string created with getPrefSubtype
|
||||
|
@ -191,7 +193,7 @@ public final class AdditionalSubtypeUtils {
|
|||
extraValueItems.add(UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME + "=" +
|
||||
SubtypeLocaleUtils.getKeyboardLayoutSetDisplayName(keyboardLayoutSetName));
|
||||
}
|
||||
if (isEmojiCapable && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
if (isEmojiCapable) {
|
||||
extraValueItems.add(EMOJI_CAPABLE);
|
||||
}
|
||||
extraValueItems.add(IS_ADDITIONAL_SUBTYPE);
|
||||
|
|
|
@ -191,6 +191,10 @@
|
|||
<string name="autospace_after_punctuation">Autospace after punctuation</string>
|
||||
<!-- Description for "insert_more_spaces" option. -->
|
||||
<string name="autospace_after_punctuation_summary">Automatically insert space after punctuation when typing a new word</string>
|
||||
<!-- Preferences item for showing all available keys in long-press popup -->
|
||||
<string name="show_all_more_keys_title">Show all keys in popup</string>
|
||||
<!-- Description for "show_all_more_keys" option. -->
|
||||
<string name="show_all_more_keys_summary">When using a latin keyboard, more characters are available on long-pressing a key</string>
|
||||
<!-- Preferences item for disabling word learning -->
|
||||
<string name="prefs_force_incognito_mode">Force incognito mode</string>
|
||||
<!-- Description for "prefs_force_incognito_mode" option. -->
|
||||
|
|
|
@ -82,6 +82,12 @@
|
|||
android:summary="@string/autospace_after_punctuation_summary"
|
||||
android:defaultValue="false" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="pref_show_all_more_keys"
|
||||
android:title="@string/show_all_more_keys_title"
|
||||
android:summary="@string/show_all_more_keys_summary"
|
||||
android:defaultValue="false" />
|
||||
|
||||
<Preference
|
||||
android:key="load_gesture_library"
|
||||
android:title="@string/load_gesture_library"
|
||||
|
|
Loading…
Add table
Reference in a new issue