HapeLee 5 месяцев назад
Родитель
Сommit
6ec686074a
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      app/src/main/java/io/legado/app/ui/main/MainNavGraph.kt

+ 5 - 1
app/src/main/java/io/legado/app/ui/main/MainNavGraph.kt

@@ -274,6 +274,7 @@ fun MainActivity.mainEntryProvider(
         }
         }
         val effectsReady = remember(readBookViewModel) { CompletableDeferred<Unit>() }
         val effectsReady = remember(readBookViewModel) { CompletableDeferred<Unit>() }
         val readerResumeState = remember(controller, lifecycleOwner) { booleanArrayOf(false) }
         val readerResumeState = remember(controller, lifecycleOwner) { booleanArrayOf(false) }
+        val collectorReady = remember(readBookViewModel) { booleanArrayOf(false) }
         fun resumeReader() {
         fun resumeReader() {
             if (readerResumeState[0]) return
             if (readerResumeState[0]) return
             readerResumeState[0] = true
             readerResumeState[0] = true
@@ -307,7 +308,9 @@ fun MainActivity.mainEntryProvider(
 
 
             val lifecycleObserver = LifecycleEventObserver { _, event ->
             val lifecycleObserver = LifecycleEventObserver { _, event ->
                 when (event) {
                 when (event) {
-                    Lifecycle.Event.ON_RESUME -> resumeReader()
+                    Lifecycle.Event.ON_RESUME -> {
+                        if (collectorReady[0]) resumeReader()
+                    }
                     Lifecycle.Event.ON_PAUSE -> pauseReader()
                     Lifecycle.Event.ON_PAUSE -> pauseReader()
                     else -> Unit
                     else -> Unit
                 }
                 }
@@ -327,6 +330,7 @@ fun MainActivity.mainEntryProvider(
 
 
         LaunchedEffect(route, readBookViewModel, lifecycleOwner) {
         LaunchedEffect(route, readBookViewModel, lifecycleOwner) {
             effectsReady.await()
             effectsReady.await()
+            collectorReady[0] = true
             readBookViewModel.initReadBookConfig(readIntent)
             readBookViewModel.initReadBookConfig(readIntent)
             readBookViewModel.initData(readIntent)
             readBookViewModel.initData(readIntent)
             controller.onRouteInitialized()
             controller.onRouteInitialized()