From 039db23a64aaf4231c9401248a1daa98e4788d45 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sat, 15 Jan 2022 00:07:44 +0100 Subject: [PATCH] Fix: Apply theme on MainActivity when changed --- .../looker/droidify/ui/activities/MainActivityX.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/com/looker/droidify/ui/activities/MainActivityX.kt b/src/main/kotlin/com/looker/droidify/ui/activities/MainActivityX.kt index b8c91eb3..940a7a19 100644 --- a/src/main/kotlin/com/looker/droidify/ui/activities/MainActivityX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/activities/MainActivityX.kt @@ -31,6 +31,7 @@ import com.looker.droidify.ui.viewmodels.MainActivityViewModelX import com.looker.droidify.utility.extension.android.Android import com.looker.droidify.utility.extension.text.nullIfEmpty import kotlinx.coroutines.launch +import kotlin.properties.Delegates class MainActivityX : AppCompatActivity() { companion object { @@ -65,8 +66,11 @@ class MainActivityX : AppCompatActivity() { val db get() = (application as MainApplication).db + var currentTheme by Delegates.notNull() + override fun onCreate(savedInstanceState: Bundle?) { - setTheme(Preferences[Preferences.Key.Theme].getResId(resources.configuration)) + currentTheme = Preferences[Preferences.Key.Theme].getResId(resources.configuration) + setTheme(currentTheme) super.onCreate(savedInstanceState) binding = ActivityMainXBinding.inflate(layoutInflater) @@ -107,6 +111,12 @@ class MainActivityX : AppCompatActivity() { syncConnection.bind(this) } + override fun onResume() { + super.onResume() + if (currentTheme != Preferences[Preferences.Key.Theme].getResId(resources.configuration)) + recreate() + } + override fun onSupportNavigateUp(): Boolean { return navController.navigateUp(appBarConfiguration) }