From 4a6ef143091bfd69906bbf4b10e40faba9acc30a Mon Sep 17 00:00:00 2001 From: Helium314 Date: Fri, 17 May 2024 18:36:41 +0200 Subject: [PATCH] after upgrade, disable new toolbar keys if the toolbar is customized --- .../java/helium314/keyboard/latin/utils/ToolbarUtils.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/latin/utils/ToolbarUtils.kt b/app/src/main/java/helium314/keyboard/latin/utils/ToolbarUtils.kt index 3ec59fcb..f3d78a80 100644 --- a/app/src/main/java/helium314/keyboard/latin/utils/ToolbarUtils.kt +++ b/app/src/main/java/helium314/keyboard/latin/utils/ToolbarUtils.kt @@ -128,18 +128,19 @@ val defaultClipboardToolbarPref by lazy { /** add missing keys, typically because a new key has been added */ fun upgradeToolbarPrefs(prefs: SharedPreferences) { - upgradeToolbarPref(prefs, Settings.PREF_TOOLBAR_KEYS, defaultToolbarPref, "true") - upgradeToolbarPref(prefs, Settings.PREF_CLIPBOARD_TOOLBAR_KEYS, defaultClipboardToolbarPref, "false") + upgradeToolbarPref(prefs, Settings.PREF_TOOLBAR_KEYS, defaultToolbarPref) + upgradeToolbarPref(prefs, Settings.PREF_CLIPBOARD_TOOLBAR_KEYS, defaultClipboardToolbarPref) } -private fun upgradeToolbarPref(prefs: SharedPreferences, pref: String, default: String, defaultEnabled: String) { +private fun upgradeToolbarPref(prefs: SharedPreferences, pref: String, default: String) { + if (!prefs.contains(pref)) return val list = prefs.getString(pref, default)!!.split(";").toMutableList() val splitDefault = defaultToolbarPref.split(";") if (list.size == splitDefault.size) return splitDefault.forEach { entry -> val keyWithComma = entry.substringBefore(",") + "," if (list.none { it.startsWith(keyWithComma) }) - list.add("${keyWithComma}$defaultEnabled") + list.add("${keyWithComma}false") } // likely not needed, but better prepare for possibility of key removal list.removeAll {