From 0ec7bb89623e1cba8b4de9c43fb8efe469c543a8 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 31 Aug 2022 20:16:42 +0200 Subject: [PATCH] allow picking any language on Android 13 --- .../clock/activities/SettingsActivity.kt | 26 ++++++++++++++----- app/src/main/res/layout/activity_settings.xml | 24 +++++++++++++++++ 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/clock/activities/SettingsActivity.kt index 765635ba..ebfe78ca 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/activities/SettingsActivity.kt @@ -10,8 +10,10 @@ import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS import com.simplemobiletools.commons.helpers.MINUTE_SECONDS import com.simplemobiletools.commons.helpers.NavigationIcon +import com.simplemobiletools.commons.helpers.isTiramisuPlus import kotlinx.android.synthetic.main.activity_settings.* import java.util.* +import kotlin.system.exitProcess class SettingsActivity : SimpleActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -26,6 +28,7 @@ class SettingsActivity : SimpleActivity() { setupPurchaseThankYou() setupCustomizeColors() setupUseEnglish() + setupLanguage() setupPreventPhoneFromSleeping() setupSundayFirst() setupAlarmMaxReminder() @@ -61,6 +64,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 { @@ -76,17 +80,25 @@ 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_prevent_phone_from_sleeping_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 - System.exit(0) + exitProcess(0) + } + } + + 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_prevent_phone_from_sleeping_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } + + settings_language_holder.setOnClickListener { + launchChangeAppLanguageIntent() } } diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 462a31b3..6720e848 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -131,6 +131,30 @@ + + + + + + + +