From 92a2bab40a3540de861d52b683eeae3bba4a39f4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 18 Aug 2022 22:08:22 +0200 Subject: [PATCH] show a language picker in the app settings on Android 13+ --- .../pro/activities/SettingsActivity.kt | 19 ++++++++++---- app/src/main/res/layout/activity_settings.xml | 25 +++++++++++++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt index 05dd3d3d..c70bf34d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt @@ -30,6 +30,7 @@ class SettingsActivity : SimpleActivity() { setupManageShownTabs() setupFontSize() setupUseEnglish() + setupLanguage() setupShowContactThumbnails() setupShowPhoneNumbers() setupShowContactsWithNumbers() @@ -120,11 +121,6 @@ class SettingsActivity : SimpleActivity() { private fun setupUseEnglish() { settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en") settings_use_english.isChecked = config.useEnglish - - if (settings_use_english_holder.isGone()) { - settings_font_size_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 @@ -132,6 +128,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_font_size_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } + + settings_language_holder.setOnClickListener { + launchChangeAppLanguageIntent() + } + } + private fun setupShowContactThumbnails() { settings_show_contact_thumbnails.isChecked = config.showContactThumbnails settings_show_contact_thumbnails_holder.setOnClickListener { diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 6fb2ddbe..1083c308 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -16,6 +16,7 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/color_primary" + app:layout_scrollFlags="scroll|enterAlways" app:title="@string/settings" app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" /> @@ -98,6 +99,30 @@ + + + + + + + +