adding a toggle for forcing English language

This commit is contained in:
tibbi 2017-11-09 20:51:11 +01:00
parent 29a746d15e
commit a9bb73fcaa
4 changed files with 58 additions and 0 deletions

View File

@ -2,10 +2,18 @@ package com.simplemobiletools.filemanager
import android.app.Application
import com.github.ajalt.reprint.core.Reprint
import com.simplemobiletools.filemanager.extensions.config
import java.util.*
class App : Application() {
override fun onCreate() {
super.onCreate()
if (config.useEnglish) {
val conf = resources.configuration
conf.locale = Locale.ENGLISH
resources.updateConfiguration(conf, resources.displayMetrics)
}
Reprint.initialize(this)
}
}

View File

@ -28,6 +28,8 @@ class MainActivity : SimpleActivity() {
private val BACK_PRESS_TIMEOUT = 5000
private var wasBackJustPressed = false
private var mStoredUseEnglish = false
private lateinit var fragment: ItemsFragment
override fun onCreate(savedInstanceState: Bundle?) {
@ -44,13 +46,24 @@ class MainActivity : SimpleActivity() {
tryInitFileManager()
checkWhatsNewDialog()
checkIfRootAvailable()
storeStateVariables()
}
override fun onResume() {
super.onResume()
if (mStoredUseEnglish != config.useEnglish) {
restartActivity()
return
}
invalidateOptionsMenu()
}
override fun onPause() {
super.onPause()
storeStateVariables()
}
override fun onDestroy() {
super.onDestroy()
config.temporarilyShowHidden = false
@ -72,6 +85,10 @@ class MainActivity : SimpleActivity() {
return true
}
private fun storeStateVariables() {
mStoredUseEnglish = config.useEnglish
}
private fun tryInitFileManager() {
handlePermission(PERMISSION_WRITE_STORAGE) {
if (it) {

View File

@ -7,12 +7,14 @@ import com.simplemobiletools.commons.dialogs.SecurityDialog
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.handleHiddenFolderPasswordProtection
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.extensions.useEnglishToggled
import com.simplemobiletools.commons.helpers.PROTECTION_FINGERPRINT
import com.simplemobiletools.commons.helpers.SHOW_ALL_TABS
import com.simplemobiletools.filemanager.R
import com.simplemobiletools.filemanager.extensions.config
import com.simplemobiletools.filemanager.helpers.RootHelpers
import kotlinx.android.synthetic.main.activity_settings.*
import java.util.*
class SettingsActivity : SimpleActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
@ -24,6 +26,7 @@ class SettingsActivity : SimpleActivity() {
super.onResume()
setupCustomizeColors()
setupUseEnglish()
setupManageFavorites()
setupShowHidden()
setupPasswordProtection()
@ -44,6 +47,16 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupUseEnglish() {
settings_use_english_holder.beVisibleIf(Locale.getDefault().language != "en")
settings_use_english.isChecked = config.useEnglish
settings_use_english_holder.setOnClickListener {
settings_use_english.toggle()
config.useEnglish = settings_use_english.isChecked
useEnglishToggled()
}
}
private fun setupShowHidden() {
settings_show_hidden.isChecked = config.showHidden
settings_show_hidden_holder.setOnClickListener {

View File

@ -49,6 +49,26 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_use_english_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_use_english"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/use_english_language"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_show_hidden_holder"
android:layout_width="match_parent"