优化
This commit is contained in:
+1
-1
@@ -237,7 +237,7 @@ dependencies {
|
|||||||
implementation(libs.json.path)
|
implementation(libs.json.path)
|
||||||
implementation(libs.jsoupxpath)
|
implementation(libs.jsoupxpath)
|
||||||
implementation(project(path: ':modules:book'))
|
implementation(project(path: ':modules:book'))
|
||||||
implementation implementation(project(path: ':modules:rhino'))
|
implementation(project(path: ':modules:rhino'))
|
||||||
|
|
||||||
//JS rhino
|
//JS rhino
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ import java.util.Locale
|
|||||||
|
|
||||||
val appDb by lazy {
|
val appDb by lazy {
|
||||||
Room.databaseBuilder(appCtx, AppDatabase::class.java, AppDatabase.DATABASE_NAME)
|
Room.databaseBuilder(appCtx, AppDatabase::class.java, AppDatabase.DATABASE_NAME)
|
||||||
.fallbackToDestructiveMigrationFrom(1, 2, 3, 4, 5, 6, 7, 8, 9)
|
.fallbackToDestructiveMigrationFrom(false, 1, 2, 3, 4, 5, 6, 7, 8, 9)
|
||||||
.addMigrations(*DatabaseMigrations.migrations)
|
.addMigrations(*DatabaseMigrations.migrations)
|
||||||
.allowMainThreadQueries()
|
.allowMainThreadQueries()
|
||||||
.addCallback(AppDatabase.dbCallback)
|
.addCallback(AppDatabase.dbCallback)
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package io.legado.app.utils
|
|||||||
|
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.room.invalidationTrackerFlow
|
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.async
|
import kotlinx.coroutines.async
|
||||||
@@ -215,7 +214,8 @@ fun <T> Flow<T>.flowWithLifecycleAndDatabaseChange(
|
|||||||
table: String
|
table: String
|
||||||
): Flow<T> = callbackFlow {
|
): Flow<T> = callbackFlow {
|
||||||
var update = 0
|
var update = 0
|
||||||
val channel = appDb.invalidationTrackerFlow(table)
|
val channel = appDb.invalidationTracker
|
||||||
|
.createFlow(table)
|
||||||
.conflate()
|
.conflate()
|
||||||
.onEach { update++ }
|
.onEach { update++ }
|
||||||
.produceIn(this)
|
.produceIn(this)
|
||||||
@@ -238,7 +238,8 @@ fun <T> Flow<T>.flowWithLifecycleAndDatabaseChangeFirst(
|
|||||||
): Flow<T> = callbackFlow {
|
): Flow<T> = callbackFlow {
|
||||||
var update = 0
|
var update = 0
|
||||||
val isActive = lifecycle.currentState.isAtLeast(minActiveState)
|
val isActive = lifecycle.currentState.isAtLeast(minActiveState)
|
||||||
val channel = appDb.invalidationTrackerFlow(table, emitInitialState = isActive)
|
val channel = appDb.invalidationTracker
|
||||||
|
.createFlow(table, emitInitialState = isActive)
|
||||||
.conflate()
|
.conflate()
|
||||||
.onEach { update++ }
|
.onEach { update++ }
|
||||||
.produceIn(this)
|
.produceIn(this)
|
||||||
|
|||||||
Reference in New Issue
Block a user