add a toggle for using english

This commit is contained in:
tibbi 2017-11-10 21:02:54 +01:00
parent 847689539b
commit 17c733f662
5 changed files with 54 additions and 1 deletions

View File

@ -47,7 +47,7 @@ ext {
} }
dependencies { dependencies {
compile 'com.simplemobiletools:commons:2.38.5' compile 'com.simplemobiletools:commons:2.38.6'
compile 'com.facebook.stetho:stetho:1.5.0' compile 'com.facebook.stetho:stetho:1.5.0'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

View File

@ -3,7 +3,9 @@ package com.simplemobiletools.notes
import android.app.Application import android.app.Application
import com.facebook.stetho.Stetho import com.facebook.stetho.Stetho
import com.simplemobiletools.notes.BuildConfig.USE_LEAK_CANARY import com.simplemobiletools.notes.BuildConfig.USE_LEAK_CANARY
import com.simplemobiletools.notes.extensions.config
import com.squareup.leakcanary.LeakCanary import com.squareup.leakcanary.LeakCanary
import java.util.*
class App : Application() { class App : Application() {
override fun onCreate() { override fun onCreate() {
@ -15,6 +17,12 @@ class App : Application() {
LeakCanary.install(this) LeakCanary.install(this)
} }
if (config.useEnglish) {
val conf = resources.configuration
conf.locale = Locale.ENGLISH
resources.updateConfiguration(conf, resources.displayMetrics)
}
if (BuildConfig.DEBUG) if (BuildConfig.DEBUG)
Stetho.initializeWithDefaults(this) Stetho.initializeWithDefaults(this)
} }

View File

@ -44,6 +44,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
var noteViewWithTextSelected: MyEditText? = null var noteViewWithTextSelected: MyEditText? = null
private var wasInit = false private var wasInit = false
private var storedUseEnglish = false
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -72,11 +73,17 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
} }
} }
storeStateVariables()
wasInit = true wasInit = true
} }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
if (storedUseEnglish != config.useEnglish) {
restartActivity()
return
}
invalidateOptionsMenu() invalidateOptionsMenu()
pager_title_strip.apply { pager_title_strip.apply {
setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
@ -142,6 +149,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
} }
} }
private fun storeStateVariables() {
storedUseEnglish = config.useEnglish
}
private fun handleText(text: String) { private fun handleText(text: String) {
val notes = mDb.getNotes() val notes = mDb.getNotes()
val list = arrayListOf<RadioItem>().apply { val list = arrayListOf<RadioItem>().apply {

View File

@ -4,7 +4,9 @@ import android.content.res.Resources
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.extensions.useEnglishToggled
import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.notes.R import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.config
@ -13,6 +15,7 @@ import com.simplemobiletools.notes.extensions.updateWidget
import com.simplemobiletools.notes.helpers.* import com.simplemobiletools.notes.helpers.*
import com.simplemobiletools.notes.models.Note import com.simplemobiletools.notes.models.Note
import kotlinx.android.synthetic.main.activity_settings.* import kotlinx.android.synthetic.main.activity_settings.*
import java.util.*
class SettingsActivity : SimpleActivity() { class SettingsActivity : SimpleActivity() {
lateinit var res: Resources lateinit var res: Resources
@ -27,6 +30,7 @@ class SettingsActivity : SimpleActivity() {
super.onResume() super.onResume()
setupCustomizeColors() setupCustomizeColors()
setupUseEnglish()
setupDisplaySuccess() setupDisplaySuccess()
setupClickableLinks() setupClickableLinks()
setupMonospacedFont() setupMonospacedFont()
@ -44,6 +48,16 @@ class SettingsActivity : SimpleActivity() {
} }
} }
private fun setupUseEnglish() {
settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || 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 setupDisplaySuccess() { private fun setupDisplaySuccess() {
settings_display_success.isChecked = config.displaySuccess settings_display_success.isChecked = config.displaySuccess
settings_display_success_holder.setOnClickListener { settings_display_success_holder.setOnClickListener {

View File

@ -30,6 +30,26 @@
</RelativeLayout> </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 <RelativeLayout
android:id="@+id/settings_display_success_holder" android:id="@+id/settings_display_success_holder"
android:layout_width="match_parent" android:layout_width="match_parent"