diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseActivity.kt index df03654e59..7a3aec769b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseActivity.kt @@ -20,11 +20,14 @@ abstract class BaseActivity : AppCompatActivity() { lateinit var binding: VB val isBindingInitialized get() = this::binding.isInitialized + private var updatedTheme: Resources.Theme? = null + override fun attachBaseContext(newBase: Context) { super.attachBaseContext(LocaleHelper.createLocaleWrapper(newBase)) } override fun onCreate(savedInstanceState: Bundle?) { + updatedTheme = null setThemeAndNight(preferences) super.onCreate(savedInstanceState) SecureActivityDelegate.setSecure(this) @@ -38,6 +41,10 @@ abstract class BaseActivity : AppCompatActivity() { } override fun getTheme(): Resources.Theme { - return getThemeWithExtras(super.getTheme(), preferences) + return updatedTheme ?: run { + val newTheme = getThemeWithExtras(super.getTheme(), preferences) + updatedTheme = newTheme + newTheme + } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseRxActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseRxActivity.kt index ef074f6199..bc2554a856 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseRxActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseRxActivity.kt @@ -7,6 +7,7 @@ import androidx.lifecycle.lifecycleScope import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate +import eu.kanade.tachiyomi.util.system.setThemeAndNight import eu.kanade.tachiyomi.util.system.LocaleHelper import eu.kanade.tachiyomi.util.system.getThemeWithExtras import nucleus.view.NucleusAppCompatActivity @@ -16,12 +17,15 @@ abstract class BaseRxActivity

> : NucleusAppCompatActivity

() + private var updatedTheme: Resources.Theme? = null override fun attachBaseContext(newBase: Context) { super.attachBaseContext(LocaleHelper.createLocaleWrapper(newBase)) } override fun onCreate(savedInstanceState: Bundle?) { + updatedTheme = null + setThemeAndNight(preferences) super.onCreate(savedInstanceState) SecureActivityDelegate.setSecure(this) } @@ -32,6 +36,10 @@ abstract class BaseRxActivity

> : NucleusAppCompatActivity