mirror of
https://github.com/tachiyomiorg/tachiyomi.git
synced 2024-06-04 05:08:48 +02:00
d29b7c4e57
Should be better at incremental builds. To format, run `./gradlew ktlintFormat`.
37 lines
1.3 KiB
Kotlin
37 lines
1.3 KiB
Kotlin
package tachiyomi.domain.chapter.interactor
|
|
|
|
import tachiyomi.core.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
|
|
|
|
class SetMangaDefaultChapterFlags(
|
|
private val libraryPreferences: LibraryPreferences,
|
|
private val setMangaChapterFlags: SetMangaChapterFlags,
|
|
private val getFavorites: GetFavorites,
|
|
) {
|
|
|
|
suspend fun await(manga: Manga) {
|
|
withNonCancellableContext {
|
|
with(libraryPreferences) {
|
|
setMangaChapterFlags.awaitSetAllFlags(
|
|
mangaId = manga.id,
|
|
unreadFilter = filterChapterByRead().get(),
|
|
downloadedFilter = filterChapterByDownloaded().get(),
|
|
bookmarkedFilter = filterChapterByBookmarked().get(),
|
|
sortingMode = sortChapterBySourceOrNumber().get(),
|
|
sortingDirection = sortChapterByAscendingOrDescending().get(),
|
|
displayMode = displayChapterByNameOrNumber().get(),
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
suspend fun awaitAll() {
|
|
withNonCancellableContext {
|
|
getFavorites.await().forEach { await(it) }
|
|
}
|
|
}
|
|
}
|