Skip to content

Commit 67d056a

Browse files
committed
allow picking any language on Android 13+
1 parent 2809657 commit 67d056a

2 files changed

Lines changed: 40 additions & 6 deletions

File tree

app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/SettingsActivity.kt

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.simplemobiletools.filemanager.pro.extensions.config
1515
import com.simplemobiletools.filemanager.pro.helpers.RootHelpers
1616
import kotlinx.android.synthetic.main.activity_settings.*
1717
import java.util.*
18+
import kotlin.system.exitProcess
1819

1920
class SettingsActivity : SimpleActivity() {
2021
override fun onCreate(savedInstanceState: Bundle?) {
@@ -28,6 +29,7 @@ class SettingsActivity : SimpleActivity() {
2829

2930
setupCustomizeColors()
3031
setupUseEnglish()
32+
setupLanguage()
3133
setupManageFavorites()
3234
setupManageShownTabs()
3335
setupChangeDateTimeFormat()
@@ -73,17 +75,25 @@ class SettingsActivity : SimpleActivity() {
7375
}
7476

7577
private fun setupUseEnglish() {
76-
settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
78+
settings_use_english_holder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus())
7779
settings_use_english.isChecked = config.useEnglish
80+
settings_use_english_holder.setOnClickListener {
81+
settings_use_english.toggle()
82+
config.useEnglish = settings_use_english.isChecked
83+
exitProcess(0)
84+
}
85+
}
7886

79-
if (settings_use_english_holder.isGone()) {
87+
private fun setupLanguage() {
88+
settings_language.text = Locale.getDefault().displayLanguage
89+
settings_language_holder.beVisibleIf(isTiramisuPlus())
90+
91+
if (settings_use_english_holder.isGone() && settings_language_holder.isGone()) {
8092
settings_manage_favorites_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
8193
}
8294

83-
settings_use_english_holder.setOnClickListener {
84-
settings_use_english.toggle()
85-
config.useEnglish = settings_use_english.isChecked
86-
System.exit(0)
95+
settings_language_holder.setOnClickListener {
96+
launchChangeAppLanguageIntent()
8797
}
8898
}
8999

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,30 @@
9999

100100
</RelativeLayout>
101101

102+
<RelativeLayout
103+
android:id="@+id/settings_language_holder"
104+
style="@style/SettingsHolderTextViewStyle"
105+
android:layout_width="match_parent"
106+
android:layout_height="wrap_content"
107+
android:background="@drawable/ripple_top_corners">
108+
109+
<com.simplemobiletools.commons.views.MyTextView
110+
android:id="@+id/settings_language_label"
111+
style="@style/SettingsTextLabelStyle"
112+
android:layout_width="wrap_content"
113+
android:layout_height="wrap_content"
114+
android:text="@string/language" />
115+
116+
<com.simplemobiletools.commons.views.MyTextView
117+
android:id="@+id/settings_language"
118+
style="@style/SettingsTextValueStyle"
119+
android:layout_width="wrap_content"
120+
android:layout_height="wrap_content"
121+
android:layout_below="@+id/settings_language_label"
122+
tools:text="English" />
123+
124+
</RelativeLayout>
125+
102126
<RelativeLayout
103127
android:id="@+id/settings_manage_favorites_holder"
104128
style="@style/SettingsHolderTextViewOneLinerStyle"

0 commit comments

Comments
 (0)