Move LibraryManga to domain layer (#8126)
(cherry picked from commit ea8383978b)
# Conflicts:
# app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
# app/src/main/java/eu/kanade/presentation/library/LibraryState.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/models/LibraryManga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
This commit is contained in:
@@ -15,7 +15,6 @@ import eu.kanade.domain.manga.interactor.GetManga
|
||||
import eu.kanade.domain.manga.interactor.UpdateManga
|
||||
import eu.kanade.domain.manga.model.Manga
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.database.models.toDomainManga
|
||||
import eu.kanade.tachiyomi.network.POST
|
||||
import eu.kanade.tachiyomi.network.await
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
@@ -98,17 +97,17 @@ class FavoritesSyncHelper(val context: Context) {
|
||||
status.value = FavoritesSyncStatus.Processing(context.getString(R.string.favorites_sync_verifying_library), context = context)
|
||||
val libraryManga = getLibraryManga.await()
|
||||
val seenManga = HashSet<Long>(libraryManga.size)
|
||||
libraryManga.forEach {
|
||||
if (!it.isEhBasedManga()) return@forEach
|
||||
libraryManga.forEach { (manga) ->
|
||||
if (!manga.isEhBasedManga()) return@forEach
|
||||
|
||||
if (it.id in seenManga) {
|
||||
val inCategories = getCategories.await(it.id!!)
|
||||
status.value = FavoritesSyncStatus.BadLibraryState.MangaInMultipleCategories(it.toDomainManga()!!, inCategories, context)
|
||||
if (manga.id in seenManga) {
|
||||
val inCategories = getCategories.await(manga.id)
|
||||
status.value = FavoritesSyncStatus.BadLibraryState.MangaInMultipleCategories(manga, inCategories, context)
|
||||
|
||||
logger.w(context.getString(R.string.favorites_sync_manga_multiple_categories_error, it.id))
|
||||
logger.w(context.getString(R.string.favorites_sync_manga_multiple_categories_error, manga.id))
|
||||
return
|
||||
} else {
|
||||
seenManga += it.id!!
|
||||
seenManga += manga.id
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package exh.util
|
||||
|
||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.domain.manga.model.Manga
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import exh.source.isEhBasedManga
|
||||
import exh.source.nHentaiSourceIds
|
||||
@@ -9,15 +9,14 @@ import uy.kohesive.injekt.api.get
|
||||
|
||||
fun Manga.isLewd(): Boolean {
|
||||
val sourceName = Injekt.get<SourceManager>().get(source)?.name
|
||||
val currentTags = getGenres().orEmpty()
|
||||
|
||||
if (isEhBasedManga() || source in nHentaiSourceIds) {
|
||||
return currentTags.none { tag -> isNonHentaiTag(tag) }
|
||||
return genre.orEmpty().none { tag -> isNonHentaiTag(tag) }
|
||||
}
|
||||
|
||||
return source in 6905L..6913L ||
|
||||
(sourceName != null && isHentaiSource(sourceName)) ||
|
||||
currentTags.any { tag -> isHentaiTag(tag) }
|
||||
genre.orEmpty().any { tag -> isHentaiTag(tag) }
|
||||
}
|
||||
|
||||
private fun isNonHentaiTag(tag: String): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user