Skip to content

Commit 05ad65b

Browse files
committed
allow picking a custom language on Android 13
1 parent cf1ad30 commit 05ad65b

File tree

2 files changed

+42
-6
lines changed

2 files changed

+42
-6
lines changed

app/src/main/kotlin/com/simplemobiletools/flashlight/activities/SettingsActivity.kt

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ import android.os.Bundle
55
import com.simplemobiletools.commons.extensions.*
66
import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS
77
import com.simplemobiletools.commons.helpers.NavigationIcon
8+
import com.simplemobiletools.commons.helpers.isTiramisuPlus
89
import com.simplemobiletools.flashlight.R
910
import com.simplemobiletools.flashlight.extensions.config
1011
import kotlinx.android.synthetic.main.activity_settings.*
1112
import java.util.*
13+
import kotlin.system.exitProcess
1214

1315
class SettingsActivity : SimpleActivity() {
1416
override fun onCreate(savedInstanceState: Bundle?) {
@@ -24,6 +26,7 @@ class SettingsActivity : SimpleActivity() {
2426
setupCustomizeColors()
2527
setupCustomizeWidgetColors()
2628
setupUseEnglish()
29+
setupLanguage()
2730
setupTurnFlashlightOn()
2831
setupBrightDisplay()
2932
setupStroboscope()
@@ -70,17 +73,25 @@ class SettingsActivity : SimpleActivity() {
7073
}
7174

7275
private fun setupUseEnglish() {
73-
settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
76+
settings_use_english_holder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus())
7477
settings_use_english.isChecked = config.useEnglish
78+
settings_use_english_holder.setOnClickListener {
79+
settings_use_english.toggle()
80+
config.useEnglish = settings_use_english.isChecked
81+
exitProcess(0)
82+
}
83+
}
7584

76-
if (settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone()) {
85+
private fun setupLanguage() {
86+
settings_language.text = Locale.getDefault().displayLanguage
87+
settings_language_holder.beVisibleIf(isTiramisuPlus())
88+
89+
if (settings_use_english_holder.isGone() && settings_language_holder.isGone() && settings_purchase_thank_you_holder.isGone()) {
7790
settings_turn_flashlight_on_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
7891
}
7992

80-
settings_use_english_holder.setOnClickListener {
81-
settings_use_english.toggle()
82-
config.useEnglish = settings_use_english.isChecked
83-
System.exit(0)
93+
settings_language_holder.setOnClickListener {
94+
launchChangeAppLanguageIntent()
8495
}
8596
}
8697

app/src/main/res/layout/activity_settings.xml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
45
android:id="@+id/settings_coordinator"
56
android:layout_width="match_parent"
67
android:layout_height="match_parent">
@@ -129,6 +130,30 @@
129130

130131
</RelativeLayout>
131132

133+
<RelativeLayout
134+
android:id="@+id/settings_language_holder"
135+
style="@style/SettingsHolderTextViewStyle"
136+
android:layout_width="match_parent"
137+
android:layout_height="wrap_content"
138+
android:background="@drawable/ripple_background">
139+
140+
<com.simplemobiletools.commons.views.MyTextView
141+
android:id="@+id/settings_language_label"
142+
style="@style/SettingsTextLabelStyle"
143+
android:layout_width="wrap_content"
144+
android:layout_height="wrap_content"
145+
android:text="@string/language" />
146+
147+
<com.simplemobiletools.commons.views.MyTextView
148+
android:id="@+id/settings_language"
149+
style="@style/SettingsTextValueStyle"
150+
android:layout_width="wrap_content"
151+
android:layout_height="wrap_content"
152+
android:layout_below="@+id/settings_language_label"
153+
tools:text="English" />
154+
155+
</RelativeLayout>
156+
132157
<RelativeLayout
133158
android:id="@+id/settings_turn_flashlight_on_holder"
134159
style="@style/SettingsHolderCheckboxStyle"

0 commit comments

Comments
 (0)