sync: Merge branch 'master' into dev/refactor-library

This commit is contained in:
Ahmad Ansori Palembani 2024-12-21 19:50:00 +07:00
commit a923f35195
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
4 changed files with 20 additions and 22 deletions

View file

@ -62,8 +62,8 @@ import yokai.domain.storage.StorageManager
*/ */
class DownloadCache( class DownloadCache(
private val context: Context, private val context: Context,
private val provider: DownloadProvider, private val provider: DownloadProvider = Injekt.get(),
private val sourceManager: SourceManager, private val sourceManager: SourceManager = Injekt.get(),
private val storageManager: StorageManager = Injekt.get(), private val storageManager: StorageManager = Injekt.get(),
) { ) {

View file

@ -20,7 +20,9 @@ import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.merge
import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.onStart
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import uy.kohesive.injekt.api.get
import yokai.domain.download.DownloadPreferences import yokai.domain.download.DownloadPreferences
import yokai.i18n.MR import yokai.i18n.MR
import yokai.util.lang.getString import yokai.util.lang.getString
@ -32,31 +34,21 @@ import yokai.util.lang.getString
* *
* @param context the application context. * @param context the application context.
*/ */
class DownloadManager(val context: Context) { class DownloadManager(
val context: Context,
/** private val sourceManager: SourceManager = Injekt.get(),
* The sources manager. private val provider: DownloadProvider = Injekt.get(),
*/ private val cache: DownloadCache = Injekt.get(),
private val sourceManager by injectLazy<SourceManager>() ) {
private val preferences by injectLazy<PreferencesHelper>() private val preferences by injectLazy<PreferencesHelper>()
private val downloadPreferences by injectLazy<DownloadPreferences>() private val downloadPreferences by injectLazy<DownloadPreferences>()
/**
* Downloads provider, used to retrieve the folders where the chapters are or should be stored.
*/
private val provider = DownloadProvider(context)
/**
* Cache of downloaded chapters.
*/
private val cache = DownloadCache(context, provider, sourceManager)
/** /**
* Downloader whose only task is to download chapters. * Downloader whose only task is to download chapters.
*/ */
private val downloader = Downloader(context, provider, cache, sourceManager) private val downloader = Downloader(context)
val isRunning: Boolean get() = downloader.isRunning val isRunning: Boolean get() = downloader.isRunning

View file

@ -54,7 +54,9 @@ import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.supervisorScope import kotlinx.coroutines.supervisorScope
import nl.adaptivity.xmlutil.serialization.XML import nl.adaptivity.xmlutil.serialization.XML
import okhttp3.Response import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import uy.kohesive.injekt.api.get
import yokai.core.archive.ZipWriter import yokai.core.archive.ZipWriter
import yokai.core.metadata.COMIC_INFO_FILE import yokai.core.metadata.COMIC_INFO_FILE
import yokai.core.metadata.ComicInfo import yokai.core.metadata.ComicInfo
@ -71,9 +73,9 @@ import yokai.util.lang.getString
*/ */
class Downloader( class Downloader(
private val context: Context, private val context: Context,
private val provider: DownloadProvider, private val provider: DownloadProvider = Injekt.get(),
private val cache: DownloadCache, private val cache: DownloadCache = Injekt.get(),
private val sourceManager: SourceManager, private val sourceManager: SourceManager = Injekt.get(),
) { ) {
private val preferences: PreferencesHelper by injectLazy() private val preferences: PreferencesHelper by injectLazy()
private val downloadPreferences: DownloadPreferences by injectLazy() private val downloadPreferences: DownloadPreferences by injectLazy()

View file

@ -12,7 +12,9 @@ import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider
import eu.kanade.tachiyomi.data.cache.ChapterCache import eu.kanade.tachiyomi.data.cache.ChapterCache
import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.cache.CoverCache
import eu.kanade.tachiyomi.data.download.DownloadCache
import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.data.download.DownloadProvider
import eu.kanade.tachiyomi.data.library.CustomMangaManager import eu.kanade.tachiyomi.data.library.CustomMangaManager
import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.extension.ExtensionManager import eu.kanade.tachiyomi.extension.ExtensionManager
@ -118,7 +120,9 @@ fun appModule(app: Application) = module {
single { SourceManager(app, get()) } single { SourceManager(app, get()) }
single { ExtensionManager(app) } single { ExtensionManager(app) }
single { DownloadProvider(app) }
single { DownloadManager(app) } single { DownloadManager(app) }
single { DownloadCache(app) }
single { CustomMangaManager(app) } single { CustomMangaManager(app) }