mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-05-14 14:02:44 +00:00
make long-press toolbar pinning optional
This commit is contained in:
parent
0f503389b3
commit
388366c242
10 changed files with 98 additions and 58 deletions
|
@ -44,8 +44,6 @@ import helium314.keyboard.latin.utils.ResourceUtils;
|
|||
import helium314.keyboard.latin.utils.RunInLocaleKt;
|
||||
import helium314.keyboard.latin.utils.StatsUtils;
|
||||
import helium314.keyboard.latin.utils.SubtypeSettingsKt;
|
||||
import helium314.keyboard.latin.utils.ToolbarKey;
|
||||
import helium314.keyboard.latin.utils.ToolbarUtilsKt;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
@ -148,6 +146,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
public static final String PREF_USE_SYSTEM_LOCALES = "use_system_locales";
|
||||
public static final String PREF_URL_DETECTION = "url_detection";
|
||||
public static final String PREF_DONT_SHOW_MISSING_DICTIONARY_DIALOG = "dont_show_missing_dict_dialog";
|
||||
public static final String PREF_QUICK_PIN_TOOLBAR_KEYS = "quick_pin_toolbar_keys";
|
||||
public static final String PREF_PINNED_TOOLBAR_KEYS = "pinned_toolbar_keys";
|
||||
public static final String PREF_TOOLBAR_KEYS = "toolbar_keys";
|
||||
public static final String PREF_CLIPBOARD_TOOLBAR_KEYS = "clipboard_toolbar_keys";
|
||||
|
@ -486,29 +485,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
}
|
||||
}
|
||||
|
||||
public static ArrayList<ToolbarKey> readPinnedKeys(final SharedPreferences prefs) {
|
||||
final ArrayList<ToolbarKey> list = new ArrayList<>();
|
||||
for (final String key : prefs.getString(Settings.PREF_PINNED_TOOLBAR_KEYS, "").split(";")) {
|
||||
try {
|
||||
list.add(ToolbarKey.valueOf(key));
|
||||
} catch (IllegalArgumentException ignored) { } // may happen if toolbar key is removed from app
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public static void addPinnedKey(final SharedPreferences prefs, final ToolbarKey key) {
|
||||
final ArrayList<ToolbarKey> keys = readPinnedKeys(prefs);
|
||||
if (keys.contains(key)) return;
|
||||
keys.add(key);
|
||||
prefs.edit().putString(Settings.PREF_PINNED_TOOLBAR_KEYS, ToolbarUtilsKt.toToolbarKeyString(keys)).apply();
|
||||
}
|
||||
|
||||
public static void removePinnedKey(final SharedPreferences prefs, final ToolbarKey key) {
|
||||
final ArrayList<ToolbarKey> keys = readPinnedKeys(prefs);
|
||||
keys.remove(key);
|
||||
prefs.edit().putString(Settings.PREF_PINNED_TOOLBAR_KEYS, ToolbarUtilsKt.toToolbarKeyString(keys)).apply();
|
||||
}
|
||||
|
||||
public static int readMorePopupKeysPref(final SharedPreferences prefs) {
|
||||
return switch (prefs.getString(Settings.PREF_MORE_POPUP_KEYS, "normal")) {
|
||||
case "all" -> LocaleKeyboardInfosKt.POPUP_KEYS_ALL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue