From 0899245ae75be73398733a4583c6a7fc9c65a755 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Wed, 19 Feb 2025 23:06:52 +0100 Subject: [PATCH] use existing constants for NO_LANGUAGE and QWERTY --- .../java/helium314/keyboard/keyboard/KeyboardSwitcher.java | 3 ++- .../keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt | 2 +- .../main/java/helium314/keyboard/latin/common/LocaleUtils.kt | 2 +- .../java/helium314/keyboard/latin/utils/DictionaryUtils.kt | 3 ++- .../java/helium314/keyboard/latin/utils/SubtypeSettings.kt | 4 ++-- .../main/java/helium314/keyboard/latin/utils/SubtypeUtils.kt | 2 +- .../helium314/keyboard/settings/screens/LanguageScreen.kt | 5 +++-- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java b/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java index 8da04ab47..c8648f168 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java +++ b/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java @@ -49,6 +49,7 @@ import helium314.keyboard.latin.utils.Log; import helium314.keyboard.latin.utils.RecapitalizeStatus; import helium314.keyboard.latin.utils.ResourceUtils; import helium314.keyboard.latin.utils.ScriptUtils; +import helium314.keyboard.latin.utils.SubtypeLocaleUtils; import helium314.keyboard.latin.utils.SubtypeUtilsAdditional; public final class KeyboardSwitcher implements KeyboardState.SwitchActions { @@ -160,7 +161,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { Log.e(TAG, "loading keyboard failed: " + e.mKeyboardId, e.getCause()); try { final InputMethodSubtype qwerty = SubtypeUtilsAdditional.INSTANCE - .createEmojiCapableAdditionalSubtype(mRichImm.getCurrentSubtypeLocale(), "qwerty", true); + .createEmojiCapableAdditionalSubtype(mRichImm.getCurrentSubtypeLocale(), SubtypeLocaleUtils.QWERTY, true); mKeyboardLayoutSet = builder.setKeyboardGeometry(keyboardWidth, keyboardHeight) .setSubtype(RichInputMethodSubtype.Companion.get(qwerty)) .setVoiceInputKeyEnabled(settingsValues.mShowsVoiceInputKey) diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt index 8e4861a31..260eb9571 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt @@ -229,7 +229,7 @@ private fun getStreamForLocale(locale: Locale, context: Context) = private fun getLocaleTlds(locale: Locale): LinkedHashSet { val ccLower = locale.country.lowercase() val tlds = LinkedHashSet() - if (ccLower.isEmpty() || ccLower == "zz") + if (ccLower.isEmpty() || locale.language == SubtypeLocaleUtils.NO_LANGUAGE) return tlds specialCountryTlds.forEach { if (ccLower != it.first) return@forEach diff --git a/app/src/main/java/helium314/keyboard/latin/common/LocaleUtils.kt b/app/src/main/java/helium314/keyboard/latin/common/LocaleUtils.kt index 577cb96cf..e572ac7d0 100644 --- a/app/src/main/java/helium314/keyboard/latin/common/LocaleUtils.kt +++ b/app/src/main/java/helium314/keyboard/latin/common/LocaleUtils.kt @@ -158,7 +158,7 @@ object LocaleUtils { } else if (elements.size == 2) { if (region == "ZZ") Locale.forLanguageTag(elements[0] + "-Latn") else Locale(language, region!!) - } else if (language == "zz") { // localeParams.length == 3 + } else if (language == SubtypeLocaleUtils.NO_LANGUAGE) { // localeParams.length == 3 Locale.Builder().setLanguage(language).setVariant(elements[2]).setScript("Latn").build() } else if (elements[2].startsWith("#")) { // best guess: elements[2] is a script, e.g. sr-Latn locale to string is sr__#Latn diff --git a/app/src/main/java/helium314/keyboard/latin/utils/DictionaryUtils.kt b/app/src/main/java/helium314/keyboard/latin/utils/DictionaryUtils.kt index f05774c3d..01dfc41cb 100644 --- a/app/src/main/java/helium314/keyboard/latin/utils/DictionaryUtils.kt +++ b/app/src/main/java/helium314/keyboard/latin/utils/DictionaryUtils.kt @@ -41,7 +41,8 @@ fun getDictionaryLocales(context: Context): MutableSet { fun showMissingDictionaryDialog(context: Context, locale: Locale) { val prefs = context.prefs() - if (prefs.getBoolean(Settings.PREF_DONT_SHOW_MISSING_DICTIONARY_DIALOG, Defaults.PREF_DONT_SHOW_MISSING_DICTIONARY_DIALOG) || locale.toString() == "zz") + if (prefs.getBoolean(Settings.PREF_DONT_SHOW_MISSING_DICTIONARY_DIALOG, Defaults.PREF_DONT_SHOW_MISSING_DICTIONARY_DIALOG) + || locale.toString() == SubtypeLocaleUtils.NO_LANGUAGE) return val repositoryLink = "" + context.getString(R.string.dictionary_link_text) + "" val dictionaryLink = "" + context.getString( diff --git a/app/src/main/java/helium314/keyboard/latin/utils/SubtypeSettings.kt b/app/src/main/java/helium314/keyboard/latin/utils/SubtypeSettings.kt index 06eb7c674..d985e1863 100644 --- a/app/src/main/java/helium314/keyboard/latin/utils/SubtypeSettings.kt +++ b/app/src/main/java/helium314/keyboard/latin/utils/SubtypeSettings.kt @@ -199,7 +199,7 @@ object SubtypeSettings { val customLayoutFiles by lazy { LayoutUtilsCustom.getLayoutFiles(LayoutType.MAIN, context).map { it.name } } val subtypesToRemove = mutableListOf() additionalSubtypes.forEach { - val name = it.toSettingsSubtype().mainLayoutName() ?: "qwerty" + val name = it.toSettingsSubtype().mainLayoutName() ?: SubtypeLocaleUtils.QWERTY if (!LayoutUtilsCustom.isCustomLayout(name)) return@forEach if (name !in customLayoutFiles) subtypesToRemove.add(it) @@ -240,7 +240,7 @@ object SubtypeSettings { continue } - val subtype = subtypesForLocale.firstOrNull { SubtypeLocaleUtils.getMainLayoutName(it) == (settingsSubtype.mainLayoutName() ?: "qwerty") } + val subtype = subtypesForLocale.firstOrNull { SubtypeLocaleUtils.getMainLayoutName(it) == (settingsSubtype.mainLayoutName() ?: SubtypeLocaleUtils.QWERTY) } if (subtype == null) { val message = "subtype $settingsSubtype could not be loaded" Log.w(TAG, message) diff --git a/app/src/main/java/helium314/keyboard/latin/utils/SubtypeUtils.kt b/app/src/main/java/helium314/keyboard/latin/utils/SubtypeUtils.kt index 594b446a1..b47c99381 100644 --- a/app/src/main/java/helium314/keyboard/latin/utils/SubtypeUtils.kt +++ b/app/src/main/java/helium314/keyboard/latin/utils/SubtypeUtils.kt @@ -110,7 +110,7 @@ data class SettingsSubtype(val locale: Locale, val extraValues: String) { fun toAdditionalSubtype(): InputMethodSubtype? { val asciiCapable = locale.script() == ScriptUtils.SCRIPT_LATIN val subtype = SubtypeUtilsAdditional.createAdditionalSubtype(locale, extraValues, asciiCapable, true) - if (subtype.nameResId == SubtypeLocaleUtils.UNKNOWN_KEYBOARD_LAYOUT && !LayoutUtilsCustom.isCustomLayout(mainLayoutName() ?: "qwerty")) { + if (subtype.nameResId == SubtypeLocaleUtils.UNKNOWN_KEYBOARD_LAYOUT && !LayoutUtilsCustom.isCustomLayout(mainLayoutName() ?: SubtypeLocaleUtils.QWERTY)) { // Skip unknown keyboard layout subtype. This may happen when predefined keyboard // layout has been removed. Log.w(SettingsSubtype::class.simpleName, "unknown additional subtype $this") diff --git a/app/src/main/java/helium314/keyboard/settings/screens/LanguageScreen.kt b/app/src/main/java/helium314/keyboard/settings/screens/LanguageScreen.kt index d44e9e47f..e68f037cc 100644 --- a/app/src/main/java/helium314/keyboard/settings/screens/LanguageScreen.kt +++ b/app/src/main/java/helium314/keyboard/settings/screens/LanguageScreen.kt @@ -33,6 +33,7 @@ import helium314.keyboard.latin.settings.USER_DICTIONARY_SUFFIX import helium314.keyboard.latin.utils.DictionaryInfoUtils import helium314.keyboard.latin.utils.Log import helium314.keyboard.latin.utils.SettingsSubtype.Companion.toSettingsSubtype +import helium314.keyboard.latin.utils.SubtypeLocaleUtils import helium314.keyboard.latin.utils.SubtypeSettings import helium314.keyboard.latin.utils.SubtypeUtilsAdditional import helium314.keyboard.latin.utils.displayName @@ -141,8 +142,8 @@ private fun getSortedSubtypes(context: Context): List { { !(SubtypeSettings.isAdditionalSubtype(it) && !isDefaultSubtype(it) ) }, { @Suppress("DEPRECATION") - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) it.languageTag == "zz" - else it.locale == "zz" + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) it.languageTag == SubtypeLocaleUtils.NO_LANGUAGE + else it.locale == SubtypeLocaleUtils.NO_LANGUAGE }, { it.displayName(context) } )