Use app scoped CoroutineScope (#3403)
This commit is contained in:
@@ -2,6 +2,8 @@ package eu.kanade.tachiyomi.di
|
||||
|
||||
import android.app.Application
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.sqlite.driver.bundled.BundledSQLiteDriver
|
||||
import app.cash.sqldelight.db.SqlDriver
|
||||
import com.eygraber.sqldelight.androidx.driver.AndroidxSqliteConfiguration
|
||||
@@ -20,6 +22,9 @@ import eu.kanade.tachiyomi.extension.ExtensionManager
|
||||
import eu.kanade.tachiyomi.network.JavaScriptEngine
|
||||
import eu.kanade.tachiyomi.network.NetworkHelper
|
||||
import eu.kanade.tachiyomi.source.AndroidSourceManager
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.SupervisorJob
|
||||
import kotlinx.coroutines.plus
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.protobuf.ProtoBuf
|
||||
import nl.adaptivity.xmlutil.XmlDeclMode
|
||||
@@ -101,18 +106,20 @@ class AppModule(val app: Application) : InjektModule {
|
||||
ProtoBuf
|
||||
}
|
||||
|
||||
addSingletonFactory<CoroutineScope> { ProcessLifecycleOwner.get().lifecycleScope + SupervisorJob() }
|
||||
|
||||
addSingletonFactory { ChapterCache(app, get()) }
|
||||
addSingletonFactory { CoverCache(app) }
|
||||
|
||||
addSingletonFactory { NetworkHelper(app, get()) }
|
||||
addSingletonFactory { NetworkHelper(app, get(), get()) }
|
||||
addSingletonFactory { JavaScriptEngine(app) }
|
||||
|
||||
addSingletonFactory<SourceManager> { AndroidSourceManager(app, get(), get()) }
|
||||
addSingletonFactory { ExtensionManager(app) }
|
||||
addSingletonFactory<SourceManager> { AndroidSourceManager(app, get(), get(), get()) }
|
||||
addSingletonFactory { ExtensionManager(app, get()) }
|
||||
|
||||
addSingletonFactory { DownloadProvider(app) }
|
||||
addSingletonFactory { DownloadManager(app) }
|
||||
addSingletonFactory { DownloadCache(app) }
|
||||
addSingletonFactory { DownloadManager(app, get()) }
|
||||
addSingletonFactory { DownloadCache(app, get()) }
|
||||
|
||||
addSingletonFactory { TrackerManager() }
|
||||
addSingletonFactory { DelayedTrackingStore(app) }
|
||||
@@ -122,7 +129,7 @@ class AppModule(val app: Application) : InjektModule {
|
||||
addSingletonFactory { AndroidStorageFolderProvider(app) }
|
||||
addSingletonFactory { LocalSourceFileSystem(get()) }
|
||||
addSingletonFactory { LocalCoverManager(app, get()) }
|
||||
addSingletonFactory { StorageManager(app, get()) }
|
||||
addSingletonFactory { StorageManager(app, get(), get()) }
|
||||
|
||||
// Asynchronously init expensive components for a faster cold start
|
||||
ContextCompat.getMainExecutor(app).execute {
|
||||
|
||||
Reference in New Issue
Block a user