From 8dcdb86e3192e0afaed5542bca287ac33aec9435 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 22 Aug 2022 13:08:58 +0200 Subject: [PATCH] adding custom language support on Android 13+ --- .../keyboard/activities/SettingsActivity.kt | 23 +++++++++++++----- app/src/main/res/layout/activity_settings.xml | 24 +++++++++++++++++++ 2 files changed, 41 insertions(+), 6 deletions(-) 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 8a2953aa..5565aed4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt @@ -5,6 +5,7 @@ import android.os.Bundle import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.NavigationIcon +import com.simplemobiletools.commons.helpers.isTiramisuPlus import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.keyboard.R import com.simplemobiletools.keyboard.extensions.config @@ -27,6 +28,7 @@ class SettingsActivity : SimpleActivity() { setupPurchaseThankYou() setupCustomizeColors() setupUseEnglish() + setupLanguage() setupManageClipboardItems() setupVibrateOnKeypress() setupShowPopupOnKeypress() @@ -50,6 +52,7 @@ class SettingsActivity : SimpleActivity() { // make sure the corners at ripple fit the stroke rounded corners if (settings_purchase_thank_you_holder.isGone()) { settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + settings_language_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) } settings_purchase_thank_you_holder.setOnClickListener { @@ -65,13 +68,8 @@ class SettingsActivity : SimpleActivity() { } private fun setupUseEnglish() { - settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en") + settings_use_english_holder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) settings_use_english.isChecked = config.useEnglish - - if (settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone()) { - settings_manage_clipboard_items_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) - } - settings_use_english_holder.setOnClickListener { settings_use_english.toggle() config.useEnglish = settings_use_english.isChecked @@ -79,6 +77,19 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupLanguage() { + settings_language.text = Locale.getDefault().displayLanguage + settings_language_holder.beVisibleIf(isTiramisuPlus()) + + if (settings_use_english_holder.isGone() && settings_language_holder.isGone() && settings_purchase_thank_you_holder.isGone()) { + settings_manage_clipboard_items_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } + + settings_language_holder.setOnClickListener { + launchChangeAppLanguageIntent() + } + } + private fun setupManageClipboardItems() { settings_manage_clipboard_items_holder.setOnClickListener { Intent(this, ManageClipboardItemsActivity::class.java).apply { diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 655e9f97..de3033a2 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -114,6 +114,30 @@ + + + + + + + +