@@ -3,6 +3,7 @@ plugins {
|
||||
alias(mihonx.plugins.spotless)
|
||||
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.metro)
|
||||
}
|
||||
|
||||
android {
|
||||
@@ -19,6 +20,7 @@ dependencies {
|
||||
implementation(projects.sourceApi)
|
||||
implementation(projects.core.common)
|
||||
|
||||
implementation(libs.metro.runtime)
|
||||
implementation(libs.bundles.kotlinx.coroutines)
|
||||
implementation(libs.bundles.serialization)
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package mihon.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.category.interactor.GetCategories
|
||||
import tachiyomi.domain.chapter.interactor.GetChaptersByMangaId
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
@@ -13,6 +14,7 @@ import tachiyomi.domain.manga.model.Manga
|
||||
* @property downloadPreferences User preferences related to chapter downloads.
|
||||
* @property getCategories Interactor for retrieving categories associated with a manga.
|
||||
*/
|
||||
@Inject
|
||||
class FilterChaptersForDownload(
|
||||
private val getChaptersByMangaId: GetChaptersByMangaId,
|
||||
private val downloadPreferences: DownloadPreferences,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package mihon.domain.extension.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import mihon.domain.extension.repository.ExtensionStoreRepository
|
||||
|
||||
@Inject
|
||||
class AddExtensionStore(
|
||||
private val repository: ExtensionStoreRepository,
|
||||
) {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package mihon.domain.extension.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import mihon.domain.extension.repository.ExtensionStoreRepository
|
||||
|
||||
@Inject
|
||||
class GetExtensionStoreCountAsFlow(
|
||||
private val repository: ExtensionStoreRepository,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package mihon.domain.extension.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import mihon.domain.extension.model.ExtensionStore
|
||||
import mihon.domain.extension.repository.ExtensionStoreRepository
|
||||
|
||||
@Inject
|
||||
class GetExtensionStores(
|
||||
private val repository: ExtensionStoreRepository,
|
||||
) {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package mihon.domain.extension.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import mihon.domain.extension.repository.ExtensionStoreRepository
|
||||
|
||||
@Inject
|
||||
class RemoveExtensionStore(
|
||||
private val repository: ExtensionStoreRepository,
|
||||
) {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package mihon.domain.extension.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import mihon.domain.extension.repository.ExtensionStoreRepository
|
||||
|
||||
@Inject
|
||||
class UpdateExtensionStores(
|
||||
private val repository: ExtensionStoreRepository,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package mihon.domain.upcoming.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class GetUpcomingManga(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package tachiyomi.domain.backup.service
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class BackupPreferences(
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.lang.withNonCancellableContext
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
@@ -7,6 +8,7 @@ import tachiyomi.domain.category.model.Category
|
||||
import tachiyomi.domain.category.repository.CategoryRepository
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
|
||||
@Inject
|
||||
class CreateCategoryWithName(
|
||||
private val categoryRepository: CategoryRepository,
|
||||
private val preferences: LibraryPreferences,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.lang.withNonCancellableContext
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
@@ -7,6 +8,7 @@ import tachiyomi.domain.category.repository.CategoryRepository
|
||||
import tachiyomi.domain.download.service.DownloadPreferences
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
|
||||
@Inject
|
||||
class DeleteCategory(
|
||||
private val categoryRepository: CategoryRepository,
|
||||
private val libraryPreferences: LibraryPreferences,
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import tachiyomi.domain.category.model.Category
|
||||
import tachiyomi.domain.category.repository.CategoryRepository
|
||||
|
||||
@Inject
|
||||
class GetCategories(
|
||||
private val categoryRepository: CategoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.lang.withNonCancellableContext
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.category.model.Category
|
||||
import tachiyomi.domain.category.repository.CategoryRepository
|
||||
|
||||
@Inject
|
||||
class RenameCategory(
|
||||
private val categoryRepository: CategoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
import logcat.LogPriority
|
||||
@@ -8,6 +9,7 @@ import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.category.model.Category
|
||||
import tachiyomi.domain.category.repository.CategoryRepository
|
||||
|
||||
@Inject
|
||||
class ReorderCategory(
|
||||
private val categoryRepository: CategoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.category.repository.CategoryRepository
|
||||
import tachiyomi.domain.library.model.plus
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
|
||||
@Inject
|
||||
class ResetCategoryFlags(
|
||||
private val preferences: LibraryPreferences,
|
||||
private val categoryRepository: CategoryRepository,
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
|
||||
@Inject
|
||||
class SetDisplayMode(
|
||||
private val preferences: LibraryPreferences,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class SetMangaCategories(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.category.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.category.model.Category
|
||||
import tachiyomi.domain.category.repository.CategoryRepository
|
||||
import tachiyomi.domain.library.model.LibrarySort
|
||||
@@ -7,6 +8,7 @@ import tachiyomi.domain.library.model.plus
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
import kotlin.random.Random
|
||||
|
||||
@Inject
|
||||
class SetSortModeForCategory(
|
||||
private val preferences: LibraryPreferences,
|
||||
private val categoryRepository: CategoryRepository,
|
||||
|
||||
+2
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
import tachiyomi.domain.chapter.repository.ChapterRepository
|
||||
|
||||
@Inject
|
||||
class GetBookmarkedChaptersByMangaId(
|
||||
private val chapterRepository: ChapterRepository,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
import tachiyomi.domain.chapter.repository.ChapterRepository
|
||||
|
||||
@Inject
|
||||
class GetChapter(
|
||||
private val chapterRepository: ChapterRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
import tachiyomi.domain.chapter.repository.ChapterRepository
|
||||
|
||||
@Inject
|
||||
class GetChapterByUrlAndMangaId(
|
||||
private val chapterRepository: ChapterRepository,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
import tachiyomi.domain.chapter.repository.ChapterRepository
|
||||
|
||||
@Inject
|
||||
class GetChaptersByMangaId(
|
||||
private val chapterRepository: ChapterRepository,
|
||||
) {
|
||||
|
||||
+2
@@ -1,11 +1,13 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.core.common.util.lang.withNonCancellableContext
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
import tachiyomi.domain.manga.interactor.GetFavorites
|
||||
import tachiyomi.domain.manga.interactor.SetMangaChapterFlags
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
|
||||
@Inject
|
||||
class SetMangaDefaultChapterFlags(
|
||||
private val libraryPreferences: LibraryPreferences,
|
||||
private val setMangaChapterFlags: SetMangaChapterFlags,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
|
||||
@Inject
|
||||
class ShouldUpdateDbChapter {
|
||||
|
||||
fun await(dbChapter: Chapter, sourceChapter: Chapter): Boolean {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.chapter.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.chapter.model.ChapterUpdate
|
||||
import tachiyomi.domain.chapter.repository.ChapterRepository
|
||||
|
||||
@Inject
|
||||
class UpdateChapter(
|
||||
private val chapterRepository: ChapterRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package tachiyomi.domain.download.service
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class DownloadPreferences(
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.history.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import tachiyomi.domain.history.model.History
|
||||
import tachiyomi.domain.history.model.HistoryWithRelations
|
||||
import tachiyomi.domain.history.repository.HistoryRepository
|
||||
|
||||
@Inject
|
||||
class GetHistory(
|
||||
private val repository: HistoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.history.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.chapter.interactor.GetChaptersByMangaId
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
import tachiyomi.domain.chapter.service.getChapterSort
|
||||
@@ -7,6 +8,7 @@ import tachiyomi.domain.history.repository.HistoryRepository
|
||||
import tachiyomi.domain.manga.interactor.GetManga
|
||||
import kotlin.math.max
|
||||
|
||||
@Inject
|
||||
class GetNextChapters(
|
||||
private val getChaptersByMangaId: GetChaptersByMangaId,
|
||||
private val getManga: GetManga,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package tachiyomi.domain.history.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.history.repository.HistoryRepository
|
||||
|
||||
@Inject
|
||||
class GetTotalReadDuration(
|
||||
private val repository: HistoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.history.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.history.model.HistoryWithRelations
|
||||
import tachiyomi.domain.history.repository.HistoryRepository
|
||||
|
||||
@Inject
|
||||
class RemoveHistory(
|
||||
private val repository: HistoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.history.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.history.model.HistoryUpdate
|
||||
import tachiyomi.domain.history.repository.HistoryRepository
|
||||
|
||||
@Inject
|
||||
class UpsertHistory(
|
||||
private val historyRepository: HistoryRepository,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package tachiyomi.domain.library.service
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.preference.TriState
|
||||
@@ -8,6 +11,8 @@ import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||
import tachiyomi.domain.library.model.LibrarySort
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class LibraryPreferences(
|
||||
private val preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.datetime.LocalDate
|
||||
import kotlinx.datetime.LocalDateTime
|
||||
import kotlinx.datetime.TimeZone
|
||||
@@ -16,6 +17,7 @@ import kotlin.time.Clock
|
||||
import kotlin.time.Duration.Companion.days
|
||||
import kotlin.time.Instant
|
||||
|
||||
@Inject
|
||||
class FetchInterval(
|
||||
private val getChaptersByMangaId: GetChaptersByMangaId,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.model.MangaWithChapterCount
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class GetDuplicateLibraryManga(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class GetFavorites(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.catch
|
||||
@@ -10,6 +11,7 @@ import tachiyomi.domain.library.model.LibraryManga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
@Inject
|
||||
class GetLibraryManga(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class GetManga(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class GetMangaByUrlAndSourceId(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
@@ -7,6 +8,7 @@ import tachiyomi.domain.chapter.repository.ChapterRepository
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class GetMangaWithChapters(
|
||||
private val mangaRepository: MangaRepository,
|
||||
private val chapterRepository: ChapterRepository,
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class NetworkToLocalManga(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class ResetViewerFlags(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.model.MangaUpdate
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class SetMangaChapterFlags(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.manga.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.manga.model.MangaUpdate
|
||||
import tachiyomi.domain.manga.repository.MangaRepository
|
||||
|
||||
@Inject
|
||||
class UpdateMangaNotes(
|
||||
private val mangaRepository: MangaRepository,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package tachiyomi.domain.release.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import tachiyomi.domain.release.model.Release
|
||||
import tachiyomi.domain.release.service.ReleaseService
|
||||
|
||||
@Inject
|
||||
class GetApplicationRelease(
|
||||
private val service: ReleaseService,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.source.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import tachiyomi.domain.source.repository.SourcePagingSource
|
||||
import tachiyomi.domain.source.repository.SourceRepository
|
||||
|
||||
@Inject
|
||||
class GetRemoteManga(
|
||||
private val repository: SourceRepository,
|
||||
) {
|
||||
|
||||
+2
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.source.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import tachiyomi.domain.source.model.SourceWithCount
|
||||
import tachiyomi.domain.source.repository.SourceRepository
|
||||
|
||||
@Inject
|
||||
class GetSourcesWithNonLibraryManga(
|
||||
private val repository: SourceRepository,
|
||||
) {
|
||||
|
||||
@@ -3,6 +3,9 @@ package tachiyomi.domain.storage.service
|
||||
import android.content.Context
|
||||
import androidx.core.net.toUri
|
||||
import com.hippo.unifile.UniFile
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -15,6 +18,8 @@ import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.flow.receiveAsFlow
|
||||
import kotlinx.coroutines.flow.shareIn
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class StorageManager(
|
||||
private val context: Context,
|
||||
storagePreferences: StoragePreferences,
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
package tachiyomi.domain.storage.service
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.storage.FolderProvider
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class StoragePreferences(
|
||||
folderProvider: FolderProvider,
|
||||
preferenceStore: PreferenceStore,
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package tachiyomi.domain.track.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.track.repository.TrackRepository
|
||||
|
||||
@Inject
|
||||
class DeleteTrack(
|
||||
private val trackRepository: TrackRepository,
|
||||
) {
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package tachiyomi.domain.track.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.track.model.Track
|
||||
import tachiyomi.domain.track.repository.TrackRepository
|
||||
|
||||
@Inject
|
||||
class GetTracks(
|
||||
private val trackRepository: TrackRepository,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.track.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import tachiyomi.domain.track.model.Track
|
||||
import tachiyomi.domain.track.repository.TrackRepository
|
||||
|
||||
@Inject
|
||||
class GetTracksPerManga(
|
||||
private val trackRepository: TrackRepository,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.track.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
import tachiyomi.domain.track.model.Track
|
||||
import tachiyomi.domain.track.repository.TrackRepository
|
||||
|
||||
@Inject
|
||||
class InsertTrack(
|
||||
private val trackRepository: TrackRepository,
|
||||
) {
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
package tachiyomi.domain.upcoming.service
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.preference.getLongArray
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class UpcomingPreferences(
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package tachiyomi.domain.updates.interactor
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import tachiyomi.domain.updates.model.UpdatesWithRelations
|
||||
import tachiyomi.domain.updates.repository.UpdatesRepository
|
||||
import kotlin.time.Instant
|
||||
|
||||
@Inject
|
||||
class GetUpdates(
|
||||
private val repository: UpdatesRepository,
|
||||
) {
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
package tachiyomi.domain.updates.service
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.preference.TriState
|
||||
import tachiyomi.core.common.preference.getEnum
|
||||
import tachiyomi.core.common.preference.getLongArray
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class UpdatesPreferences(
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user