From 47f02b1eb9d860f8bf754feaeba8c1965e3b8137 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 9 Mar 2022 13:57:40 +0100 Subject: [PATCH] fix #18, adding an english QWERTZ keyboard layout --- .../keyboard/activities/SettingsActivity.kt | 27 ++-- .../keyboard/helpers/Config.kt | 2 +- .../keyboard/helpers/Constants.kt | 3 +- .../keyboard/services/SimpleKeyboardIME.kt | 3 +- ...sh.xml => keys_letters_english_qwerty.xml} | 0 .../res/xml/keys_letters_english_qwertz.xml | 137 ++++++++++++++++++ 6 files changed, 157 insertions(+), 15 deletions(-) rename app/src/main/res/xml/{keys_letters_english.xml => keys_letters_english_qwerty.xml} (100%) create mode 100644 app/src/main/res/xml/keys_letters_english_qwertz.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt index 67c94e3..2b212f5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt @@ -8,7 +8,8 @@ import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.keyboard.R import com.simplemobiletools.keyboard.extensions.config -import com.simplemobiletools.keyboard.helpers.LANGUAGE_ENGLISH +import com.simplemobiletools.keyboard.helpers.LANGUAGE_ENGLISH_QWERTY +import com.simplemobiletools.keyboard.helpers.LANGUAGE_ENGLISH_QWERTZ import com.simplemobiletools.keyboard.helpers.LANGUAGE_FRENCH import com.simplemobiletools.keyboard.helpers.LANGUAGE_RUSSIAN import kotlinx.android.synthetic.main.activity_settings.* @@ -109,26 +110,28 @@ class SettingsActivity : SimpleActivity() { } private fun setupKeyboardLanguage() { - settings_keyboard_language.text = getKeyboardLanguageText() + settings_keyboard_language.text = getKeyboardLanguageText(config.keyboardLanguage) settings_keyboard_language_holder.setOnClickListener { val items = arrayListOf( - RadioItem(LANGUAGE_ENGLISH, getString(R.string.translation_english)), - RadioItem(LANGUAGE_FRENCH, getString(R.string.translation_french)), - RadioItem(LANGUAGE_RUSSIAN, getString(R.string.translation_russian)) + RadioItem(LANGUAGE_ENGLISH_QWERTY, getKeyboardLanguageText(LANGUAGE_ENGLISH_QWERTY)), + RadioItem(LANGUAGE_ENGLISH_QWERTZ, getKeyboardLanguageText(LANGUAGE_ENGLISH_QWERTZ)), + RadioItem(LANGUAGE_FRENCH, getKeyboardLanguageText(LANGUAGE_FRENCH)), + RadioItem(LANGUAGE_RUSSIAN, getKeyboardLanguageText(LANGUAGE_RUSSIAN)) ) RadioGroupDialog(this@SettingsActivity, items, config.keyboardLanguage) { config.keyboardLanguage = it as Int - settings_keyboard_language.text = getKeyboardLanguageText() + settings_keyboard_language.text = getKeyboardLanguageText(config.keyboardLanguage) } } } - private fun getKeyboardLanguageText() = getString( - when (config.keyboardLanguage) { - LANGUAGE_FRENCH -> R.string.translation_french - LANGUAGE_RUSSIAN -> R.string.translation_russian - else -> R.string.translation_english + private fun getKeyboardLanguageText(language: Int): String { + return when (language) { + LANGUAGE_FRENCH -> getString(R.string.translation_french) + LANGUAGE_RUSSIAN -> getString(R.string.translation_russian) + LANGUAGE_ENGLISH_QWERTZ -> "${getString(R.string.translation_english)} (QWERTZ)" + else -> "${getString(R.string.translation_english)} (QWERTY)" } - ) + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Config.kt index 4ed3af6..d183b4f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Config.kt @@ -30,7 +30,7 @@ class Config(context: Context) : BaseConfig(context) { return if (conf.locale.toString().toLowerCase(Locale.getDefault()).startsWith("ru_")) { LANGUAGE_RUSSIAN } else { - LANGUAGE_ENGLISH + LANGUAGE_ENGLISH_QWERTY } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Constants.kt index 6730799..c6e7d1d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Constants.kt @@ -17,6 +17,7 @@ const val KEYBOARD_LANGUAGE = "keyboard_language" const val ITEM_SECTION_LABEL = 0 const val ITEM_CLIP = 1 -const val LANGUAGE_ENGLISH = 0 +const val LANGUAGE_ENGLISH_QWERTY = 0 const val LANGUAGE_RUSSIAN = 1 const val LANGUAGE_FRENCH = 2 +const val LANGUAGE_ENGLISH_QWERTZ = 3 diff --git a/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt b/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt index 8deb10b..b2e7dba 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt @@ -245,7 +245,8 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL return when (baseContext.config.keyboardLanguage) { LANGUAGE_FRENCH -> R.xml.keys_letters_french LANGUAGE_RUSSIAN -> R.xml.keys_letters_russian - else -> R.xml.keys_letters_english + LANGUAGE_ENGLISH_QWERTZ -> R.xml.keys_letters_english_qwertz + else -> R.xml.keys_letters_english_qwerty } } } diff --git a/app/src/main/res/xml/keys_letters_english.xml b/app/src/main/res/xml/keys_letters_english_qwerty.xml similarity index 100% rename from app/src/main/res/xml/keys_letters_english.xml rename to app/src/main/res/xml/keys_letters_english_qwerty.xml diff --git a/app/src/main/res/xml/keys_letters_english_qwertz.xml b/app/src/main/res/xml/keys_letters_english_qwertz.xml new file mode 100644 index 0000000..60cc165 --- /dev/null +++ b/app/src/main/res/xml/keys_letters_english_qwertz.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +