Skip to content

Commit a9bb73f

Browse files
committed
adding a toggle for forcing English language
1 parent 29a746d commit a9bb73f

File tree

4 files changed

+58
-0
lines changed

4 files changed

+58
-0
lines changed

app/src/main/kotlin/com/simplemobiletools/filemanager/App.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@ package com.simplemobiletools.filemanager
22

33
import android.app.Application
44
import com.github.ajalt.reprint.core.Reprint
5+
import com.simplemobiletools.filemanager.extensions.config
6+
import java.util.*
57

68
class App : Application() {
79
override fun onCreate() {
810
super.onCreate()
11+
12+
if (config.useEnglish) {
13+
val conf = resources.configuration
14+
conf.locale = Locale.ENGLISH
15+
resources.updateConfiguration(conf, resources.displayMetrics)
16+
}
917
Reprint.initialize(this)
1018
}
1119
}

app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ class MainActivity : SimpleActivity() {
2828
private val BACK_PRESS_TIMEOUT = 5000
2929
private var wasBackJustPressed = false
3030

31+
private var mStoredUseEnglish = false
32+
3133
private lateinit var fragment: ItemsFragment
3234

3335
override fun onCreate(savedInstanceState: Bundle?) {
@@ -44,13 +46,24 @@ class MainActivity : SimpleActivity() {
4446
tryInitFileManager()
4547
checkWhatsNewDialog()
4648
checkIfRootAvailable()
49+
storeStateVariables()
4750
}
4851

4952
override fun onResume() {
5053
super.onResume()
54+
if (mStoredUseEnglish != config.useEnglish) {
55+
restartActivity()
56+
return
57+
}
58+
5159
invalidateOptionsMenu()
5260
}
5361

62+
override fun onPause() {
63+
super.onPause()
64+
storeStateVariables()
65+
}
66+
5467
override fun onDestroy() {
5568
super.onDestroy()
5669
config.temporarilyShowHidden = false
@@ -72,6 +85,10 @@ class MainActivity : SimpleActivity() {
7285
return true
7386
}
7487

88+
private fun storeStateVariables() {
89+
mStoredUseEnglish = config.useEnglish
90+
}
91+
7592
private fun tryInitFileManager() {
7693
handlePermission(PERMISSION_WRITE_STORAGE) {
7794
if (it) {

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ import com.simplemobiletools.commons.dialogs.SecurityDialog
77
import com.simplemobiletools.commons.extensions.beVisibleIf
88
import com.simplemobiletools.commons.extensions.handleHiddenFolderPasswordProtection
99
import com.simplemobiletools.commons.extensions.updateTextColors
10+
import com.simplemobiletools.commons.extensions.useEnglishToggled
1011
import com.simplemobiletools.commons.helpers.PROTECTION_FINGERPRINT
1112
import com.simplemobiletools.commons.helpers.SHOW_ALL_TABS
1213
import com.simplemobiletools.filemanager.R
1314
import com.simplemobiletools.filemanager.extensions.config
1415
import com.simplemobiletools.filemanager.helpers.RootHelpers
1516
import kotlinx.android.synthetic.main.activity_settings.*
17+
import java.util.*
1618

1719
class SettingsActivity : SimpleActivity() {
1820
override fun onCreate(savedInstanceState: Bundle?) {
@@ -24,6 +26,7 @@ class SettingsActivity : SimpleActivity() {
2426
super.onResume()
2527

2628
setupCustomizeColors()
29+
setupUseEnglish()
2730
setupManageFavorites()
2831
setupShowHidden()
2932
setupPasswordProtection()
@@ -44,6 +47,16 @@ class SettingsActivity : SimpleActivity() {
4447
}
4548
}
4649

50+
private fun setupUseEnglish() {
51+
settings_use_english_holder.beVisibleIf(Locale.getDefault().language != "en")
52+
settings_use_english.isChecked = config.useEnglish
53+
settings_use_english_holder.setOnClickListener {
54+
settings_use_english.toggle()
55+
config.useEnglish = settings_use_english.isChecked
56+
useEnglishToggled()
57+
}
58+
}
59+
4760
private fun setupShowHidden() {
4861
settings_show_hidden.isChecked = config.showHidden
4962
settings_show_hidden_holder.setOnClickListener {

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,26 @@
4949

5050
</RelativeLayout>
5151

52+
<RelativeLayout
53+
android:id="@+id/settings_use_english_holder"
54+
android:layout_width="match_parent"
55+
android:layout_height="wrap_content"
56+
android:layout_marginTop="@dimen/medium_margin"
57+
android:background="?attr/selectableItemBackground"
58+
android:padding="@dimen/activity_margin">
59+
60+
<com.simplemobiletools.commons.views.MySwitchCompat
61+
android:id="@+id/settings_use_english"
62+
android:layout_width="match_parent"
63+
android:layout_height="wrap_content"
64+
android:background="@null"
65+
android:clickable="false"
66+
android:paddingLeft="@dimen/medium_margin"
67+
android:paddingStart="@dimen/medium_margin"
68+
android:text="@string/use_english_language"/>
69+
70+
</RelativeLayout>
71+
5272
<RelativeLayout
5373
android:id="@+id/settings_show_hidden_holder"
5474
android:layout_width="match_parent"

0 commit comments

Comments
 (0)