From 6f833c2f178a50682e66e2a85b6e93bb883f6dc3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 21 Sep 2022 12:43:17 +0200 Subject: [PATCH] allow picking any language on Android 13+ --- .../camera/activities/SettingsActivity.kt | 24 +++++++++++++------ app/src/main/res/layout/activity_settings.xml | 23 ++++++++++++++++++ 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt index 9b55c767..8337ff81 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt @@ -2,7 +2,6 @@ package com.simplemobiletools.camera.activities import android.annotation.SuppressLint import android.os.Bundle -import androidx.core.content.res.ResourcesCompat import com.simplemobiletools.camera.BuildConfig import com.simplemobiletools.camera.R import com.simplemobiletools.camera.extensions.config @@ -11,6 +10,7 @@ import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.LICENSE_GLIDE import com.simplemobiletools.commons.helpers.NavigationIcon +import com.simplemobiletools.commons.helpers.isTiramisuPlus import com.simplemobiletools.commons.models.FAQItem import com.simplemobiletools.commons.models.RadioItem import kotlinx.android.synthetic.main.activity_settings.* @@ -31,6 +31,7 @@ class SettingsActivity : SimpleActivity() { setupPurchaseThankYou() setupCustomizeColors() setupUseEnglish() + setupLanguage() setupSound() setupVolumeButtonsAsShutter() setupFlipPhotos() @@ -74,7 +75,8 @@ 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 = ResourcesCompat.getDrawable(resources, R.drawable.ripple_top_corners, theme) + settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) + settings_language_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) } settings_purchase_thank_you_holder.setOnClickListener { @@ -90,12 +92,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 - - settings_general_settings_holder.beGoneIf(settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone()) - settings_general_settings_label.beGoneIf(settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone()) - settings_use_english_holder.setOnClickListener { settings_use_english.toggle() config.useEnglish = settings_use_english.isChecked @@ -103,6 +101,18 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupLanguage() { + settings_language.text = Locale.getDefault().displayLanguage + settings_language_holder.beVisibleIf(isTiramisuPlus()) + + settings_general_settings_holder.beGoneIf(settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone() && settings_language_holder.isGone()) + settings_general_settings_label.beGoneIf(settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone() && settings_language_holder.isGone()) + + settings_language_holder.setOnClickListener { + launchChangeAppLanguageIntent() + } + } + private fun launchAbout() { val licenses = LICENSE_GLIDE diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index fd23440d..34ec78aa 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -117,6 +117,29 @@ + + + + + + +