fix reader view lifecycle issue

This commit is contained in:
Fabian Freund
2026-03-07 16:27:29 +01:00
parent e609eae25c
commit 84038c7b81
@@ -31,6 +31,7 @@ class ReaderViewIntegration(
private val readerViewEvents: ReaderViewEventsImpl,
readerViewController: ReaderViewController
) : LifecycleAwareFeature, UserInteractionHandler {
private var listenerRegistered = false
private val controllerListener = object : ReaderViewControllerListener {
override fun onReaderViewToggled(enabled: Boolean) {
@@ -51,10 +52,6 @@ class ReaderViewIntegration(
}
}
init {
readerViewEvents.addListener(controllerListener)
}
private val feature = ReaderViewFeature(context, engine, store, view)
// Will be event based in flutter
// { available, active ->
@@ -66,11 +63,18 @@ class ReaderViewIntegration(
// }
override fun start() {
if (!listenerRegistered) {
readerViewEvents.addListener(controllerListener)
listenerRegistered = true
}
feature.start()
}
override fun stop() {
readerViewEvents.removeListener(controllerListener)
if (listenerRegistered) {
readerViewEvents.removeListener(controllerListener)
listenerRegistered = false
}
feature.stop()
}