diff --git a/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowActivity.kt b/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowActivity.kt index d9da7b212..39ab2c1b7 100644 --- a/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowActivity.kt @@ -2,6 +2,7 @@ package io.legado.app.ui.book.explore import android.os.Bundle import androidx.activity.viewModels +import androidx.core.os.bundleOf import androidx.recyclerview.widget.RecyclerView import io.legado.app.R import io.legado.app.base.VMBaseActivity @@ -35,7 +36,7 @@ class ExploreShowActivity : VMBaseActivity if (!isEmpty || viewModel.searchScope.isAll()) return@observe diff --git a/app/src/main/java/io/legado/app/utils/FlowExtensions.kt b/app/src/main/java/io/legado/app/utils/FlowExtensions.kt index 31b64913a..5890d4728 100644 --- a/app/src/main/java/io/legado/app/utils/FlowExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/FlowExtensions.kt @@ -231,10 +231,11 @@ fun Flow.flowWithLifecycleAndDatabaseChangeFirst( minActiveState: Lifecycle.State = Lifecycle.State.STARTED, table: String ): Flow = callbackFlow { - val channel = appDb.invalidationTrackerFlow(table, emitInitialState = false) + val isActive = lifecycle.currentState.isAtLeast(minActiveState) + val channel = appDb.invalidationTrackerFlow(table, emitInitialState = isActive) .conflate() .produceIn(this) - if (!lifecycle.currentState.isAtLeast(minActiveState)) { + if (!isActive) { send(first()) } lifecycle.repeatOnLifecycle(minActiveState) {