Use splitties roomDb builder

This commit is contained in:
tarsin committed 2023-06-02 12:19:04 +08:00
1 parent 257e247e23
commit 184edf9d4c
5 files changed
+10 -12

No files matched your search

@@ -23,7 +23,6 @@ import androidx.collection.LruCache
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ProcessLifecycleOwner
import androidx.room.Room
import coil.ImageLoaderFactory
import coil.decode.ImageDecoderDecoder
import coil.util.DebugLogger
@@ -50,6 +49,7 @@ import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences
import eu.kanade.tachiyomi.util.lang.launchIO
import kotlinx.coroutines.DelicateCoroutinesApi
import okio.Path.Companion.toOkioPath
import splitties.arch.room.roomDb
import splitties.init.appCtx
import java.net.Proxy
@@ -185,7 +185,7 @@ class EhApplication : Application(), DefaultLifecycleObserver, ImageLoaderFactor
val readerPreferences by lazy { ReaderPreferences(AndroidPreferenceStore(appCtx)) }
val ehDatabase by lazy { Room.databaseBuilder(appCtx, EhDatabase::class.java, "eh.db").allowMainThreadQueries().build() }
val ehDatabase by lazy { roomDb<EhDatabase>("eh.db") { allowMainThreadQueries() } }
val imageCache by lazy {
diskCache {
+3 -3
View File
@@ -20,7 +20,6 @@ import android.net.Uri
import android.os.ParcelFileDescriptor
import android.os.ParcelFileDescriptor.MODE_READ_ONLY
import androidx.paging.PagingSource
import androidx.room.Room.databaseBuilder
import arrow.fx.coroutines.release
import arrow.fx.coroutines.resource
import com.hippo.ehviewer.EhApplication.Companion.ehDatabase
@@ -36,6 +35,7 @@ import com.hippo.ehviewer.dao.LocalFavoriteInfo
import com.hippo.ehviewer.dao.QuickSearch
import com.hippo.ehviewer.download.DownloadManager
import com.hippo.ehviewer.util.sendTo
import splitties.arch.room.roomDb
object EhDB {
private val db = ehDatabase
@@ -369,7 +369,7 @@ object EhDB {
val ehExportName = "eh.export.db"
resource {
context.deleteDatabase(ehExportName)
databaseBuilder(context, EhDatabase::class.java, ehExportName).build()
roomDb<EhDatabase>(ehExportName)
} release {
it.close()
context.deleteDatabase(ehExportName)
@@ -395,7 +395,7 @@ object EhDB {
val tempDBName = "tmp.db"
resource {
context.deleteDatabase(tempDBName)
databaseBuilder(context, EhDatabase::class.java, tempDBName).createFromInputStream { context.contentResolver.openInputStream(uri) }.build()
roomDb<EhDatabase>(tempDBName) { createFromInputStream { context.contentResolver.openInputStream(uri) } }
} release {
it.close()
context.deleteDatabase(tempDBName)
@@ -16,9 +16,9 @@
package com.hippo.ehviewer.network
import android.content.Context
import androidx.room.Room
import com.hippo.ehviewer.dao.Cookie
import com.hippo.ehviewer.dao.CookiesDatabase
import splitties.arch.room.roomDb
import okhttp3.Cookie as OkHttpCookie
class CookieDatabase(context: Context) {
@@ -31,7 +31,7 @@ class CookieDatabase(context: Context) {
}
}.toMutableList()
}
private val db = Room.databaseBuilder(context, CookiesDatabase::class.java, "okhttp3-cookie.db").build()
private val db = roomDb<CookiesDatabase>("okhttp3-cookie.db")
val allCookies by lazy {
hashMapOf<String, CookieSet>().also { map ->
@@ -16,7 +16,6 @@ import androidx.drawerlayout.widget.DrawerLayout
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.room.Room
import com.google.android.material.search.SearchView
import com.google.android.material.search.SearchView.TransitionListener
import com.google.android.material.shape.MaterialShapeDrawable
@@ -30,11 +29,9 @@ import eu.kanade.tachiyomi.util.lang.launchIO
import eu.kanade.tachiyomi.util.lang.withUIContext
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import splitties.init.appCtx
import splitties.arch.room.roomDb
private val searchDatabase by lazy {
Room.databaseBuilder(appCtx, SearchDatabase::class.java, "search_database.db").build()
}
private val searchDatabase by lazy { roomDb<SearchDatabase>("search_database.db") }
abstract class SearchBarScene : BaseScene(), ToolBarScene {
private var _binding: SceneSearchbarBinding? = null