Albirew/tachiyomi
Archivé
1
0
Bifurcation 0

Cancel scope in SettingsControllers properly

Cette révision appartient à :
arkon 2021-04-28 17:38:41 -04:00
Parent 32434471e5
révision 284c019b32
2 fichiers modifiés avec 6 ajouts et 2 suppressions

Voir le fichier

@ -23,7 +23,9 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.ui.base.controller.BaseController import eu.kanade.tachiyomi.ui.base.controller.BaseController
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.util.system.getResourceColor import eu.kanade.tachiyomi.util.system.getResourceColor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope
import kotlinx.coroutines.cancel
import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get import uy.kohesive.injekt.api.get
@ -31,10 +33,11 @@ abstract class SettingsController : PreferenceController() {
var preferenceKey: String? = null var preferenceKey: String? = null
val preferences: PreferencesHelper = Injekt.get() val preferences: PreferencesHelper = Injekt.get()
val viewScope = MainScope() lateinit var viewScope: CoroutineScope
private var themedContext: Context? = null private var themedContext: Context? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle?): View { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle?): View {
viewScope = MainScope()
val view = super.onCreateView(inflater, container, savedInstanceState) val view = super.onCreateView(inflater, container, savedInstanceState)
if (this is RootController) { if (this is RootController) {
@ -79,6 +82,7 @@ abstract class SettingsController : PreferenceController() {
override fun onDestroyView(view: View) { override fun onDestroyView(view: View) {
super.onDestroyView(view) super.onDestroyView(view)
viewScope.cancel()
themedContext = null themedContext = null
} }

Voir le fichier

@ -35,7 +35,7 @@ class SettingsReaderController : SettingsController() {
R.string.vertical_plus_viewer R.string.vertical_plus_viewer
) )
entryValues = ReadingModeType.values().drop(1) entryValues = ReadingModeType.values().drop(1)
.map { value -> "${value.flagValue}" }.toTypedArray() .map { value -> "${value.flagValue}" }.toTypedArray()
defaultValue = "${ReadingModeType.RIGHT_TO_LEFT.flagValue}" defaultValue = "${ReadingModeType.RIGHT_TO_LEFT.flagValue}"
summary = "%s" summary = "%s"
} }