refactor(network-to-local): simplify networkToLocalManga (#910)
This commit is contained in:
parent
a18cc3e6a9
commit
d33efced68
17 changed files with 43 additions and 61 deletions
|
|
@ -64,7 +64,7 @@ fun GlobalSearchScreen(
|
||||||
.flatMap { it.result }
|
.flatMap { it.result }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -76,7 +76,7 @@ fun GlobalSearchScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ fun MigrateSearchScreen(
|
||||||
.flatMap { it.result }
|
.flatMap { it.result }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -66,7 +66,7 @@ fun MigrateSearchScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ fun SourceFeedScreen(
|
||||||
.flatten()
|
.flatten()
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -143,7 +143,7 @@ fun SourceFeedScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ fun TabbedScreen(
|
||||||
.flatten()
|
.flatten()
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ fun TabbedScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@ fun Screen.feedTab(
|
||||||
onClickManga = {
|
onClickManga = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -183,7 +183,7 @@ fun Screen.feedTab(
|
||||||
// KMK -->
|
// KMK -->
|
||||||
onLongClickManga = {
|
onLongClickManga = {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (!bulkFavoriteState.selectionMode) {
|
if (!bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ class MigrateSearchScreen(private val mangaId: Long, private val validSources: L
|
||||||
onClickItem = {
|
onClickItem = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else
|
} else
|
||||||
|
|
@ -77,7 +77,7 @@ class MigrateSearchScreen(private val mangaId: Long, private val validSources: L
|
||||||
onLongClickItem = {
|
onLongClickItem = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
// KMK <--
|
// KMK <--
|
||||||
navigator.push(MangaScreen(manga.id, true))
|
navigator.push(MangaScreen(manga.id, true))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ data class SourceSearchScreen(
|
||||||
.map { it.value.first }
|
.map { it.value.first }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +105,7 @@ data class SourceSearchScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -178,7 +178,7 @@ data class SourceSearchScreen(
|
||||||
onMangaClick = {
|
onMangaClick = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -190,7 +190,7 @@ data class SourceSearchScreen(
|
||||||
onMangaLongClick = {
|
onMangaLongClick = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
// KMK <--
|
// KMK <--
|
||||||
navigator.push(MangaScreen(manga.id, true))
|
navigator.push(MangaScreen(manga.id, true))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -204,7 +204,7 @@ data class BrowseSourceScreen(
|
||||||
.map { it.value.first }
|
.map { it.value.first }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -215,7 +215,7 @@ data class BrowseSourceScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -370,7 +370,7 @@ data class BrowseSourceScreen(
|
||||||
onMangaClick = {
|
onMangaClick = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -392,7 +392,7 @@ data class BrowseSourceScreen(
|
||||||
onMangaLongClick = {
|
onMangaLongClick = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
navigator.push(MangaScreen(manga.id, true))
|
navigator.push(MangaScreen(manga.id, true))
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
|
||||||
onClickManga = {
|
onClickManga = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -172,7 +172,7 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
|
||||||
},
|
},
|
||||||
onLongClickManga = {
|
onLongClickManga = {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (!bulkFavoriteState.selectionMode) {
|
if (!bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ class GlobalSearchScreen(
|
||||||
if (manga != null) {
|
if (manga != null) {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val localManga = screenModel.networkToLocalManga.getLocal(manga)
|
val localManga = screenModel.networkToLocalManga(manga)
|
||||||
// KMK <--
|
// KMK <--
|
||||||
navigator.replace(MangaScreen(localManga.id, true))
|
navigator.replace(MangaScreen(localManga.id, true))
|
||||||
}
|
}
|
||||||
|
|
@ -98,7 +98,7 @@ class GlobalSearchScreen(
|
||||||
onClickItem = {
|
onClickItem = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -110,7 +110,7 @@ class GlobalSearchScreen(
|
||||||
onLongClickItem = {
|
onLongClickItem = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (!bulkFavoriteState.selectionMode) {
|
if (!bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -391,13 +391,13 @@ class MangaScreen(
|
||||||
},
|
},
|
||||||
onRelatedMangaClick = {
|
onRelatedMangaClick = {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
navigator.push(MangaScreen(manga.id, true))
|
navigator.push(MangaScreen(manga.id, true))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onRelatedMangaLongClick = {
|
onRelatedMangaLongClick = {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ fun RelatedMangasScreen(
|
||||||
.flatMap { it.mangaList }
|
.flatMap { it.mangaList }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -73,7 +73,7 @@ fun RelatedMangasScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -102,7 +102,7 @@ fun RelatedMangasScreen(
|
||||||
contentPadding = paddingValues,
|
contentPadding = paddingValues,
|
||||||
onMangaClick = {
|
onMangaClick = {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -112,7 +112,7 @@ fun RelatedMangasScreen(
|
||||||
},
|
},
|
||||||
onMangaLongClick = {
|
onMangaLongClick = {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (!bulkFavoriteState.selectionMode) {
|
if (!bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() {
|
||||||
.map { it.value.first }
|
.map { it.value.first }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -90,7 +90,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() {
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -131,7 +131,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() {
|
||||||
onMangaClick = {
|
onMangaClick = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -143,7 +143,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() {
|
||||||
onMangaLongClick = {
|
onMangaLongClick = {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
navigator.push(MangaScreen(manga.id, true))
|
navigator.push(MangaScreen(manga.id, true))
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ class BrowseRecommendsScreen(
|
||||||
.map { it.value.first }
|
.map { it.value.first }
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it)
|
bulkFavoriteScreenModel.networkToLocalManga(it)
|
||||||
.forEach { bulkFavoriteScreenModel.select(it) }
|
.forEach { bulkFavoriteScreenModel.select(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -110,7 +110,7 @@ class BrowseRecommendsScreen(
|
||||||
.let {
|
.let {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
bulkFavoriteScreenModel.reverseSelection(
|
bulkFavoriteScreenModel.reverseSelection(
|
||||||
bulkFavoriteScreenModel.networkToLocalManga.getLocal(it),
|
bulkFavoriteScreenModel.networkToLocalManga(it),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -159,7 +159,7 @@ class BrowseRecommendsScreen(
|
||||||
onClickItem(it)
|
onClickItem(it)
|
||||||
} else {
|
} else {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (bulkFavoriteState.selectionMode) {
|
if (bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.toggleSelection(manga)
|
bulkFavoriteScreenModel.toggleSelection(manga)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -175,7 +175,7 @@ class BrowseRecommendsScreen(
|
||||||
onLongClickItem(it)
|
onLongClickItem(it)
|
||||||
} else {
|
} else {
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val manga = screenModel.networkToLocalManga.getLocal(it)
|
val manga = screenModel.networkToLocalManga(it)
|
||||||
if (!bulkFavoriteState.selectionMode) {
|
if (!bulkFavoriteState.selectionMode) {
|
||||||
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
bulkFavoriteScreenModel.addRemoveManga(manga, haptic)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen() {
|
||||||
else -> {
|
else -> {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val localManga = screenModel.networkToLocalManga.getLocal(manga)
|
val localManga = screenModel.networkToLocalManga(manga)
|
||||||
navigator.push(
|
navigator.push(
|
||||||
// KMK <--
|
// KMK <--
|
||||||
MangaScreen(localManga.id, true),
|
MangaScreen(localManga.id, true),
|
||||||
|
|
@ -75,7 +75,7 @@ class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen() {
|
||||||
else -> {
|
else -> {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
val localManga = screenModel.networkToLocalManga.getLocal(manga)
|
val localManga = screenModel.networkToLocalManga(manga)
|
||||||
bulkFavoriteScreenModel.addRemoveManga(
|
bulkFavoriteScreenModel.addRemoveManga(
|
||||||
localManga,
|
localManga,
|
||||||
haptic,
|
haptic,
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,8 @@ open class RecommendsScreenModel(
|
||||||
// If the recommendation is associated with a source, resolve it
|
// If the recommendation is associated with a source, resolve it
|
||||||
// Otherwise, skip this step. The user will be prompted to choose a source via SmartSearch
|
// Otherwise, skip this step. The user will be prompted to choose a source via SmartSearch
|
||||||
it.toDomainManga(recSourceId ?: RECOMMENDS_SOURCE)
|
it.toDomainManga(recSourceId ?: RECOMMENDS_SOURCE)
|
||||||
/* KMK --> .let { networkToLocalManga(it) } KMK <-- */
|
|
||||||
}
|
}
|
||||||
|
/* KMK --> .let { networkToLocalManga(it) } KMK <-- */
|
||||||
// KMK <--
|
// KMK <--
|
||||||
.distinctBy { it.url }
|
.distinctBy { it.url }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,28 +8,10 @@ class NetworkToLocalManga(
|
||||||
) {
|
) {
|
||||||
|
|
||||||
suspend operator fun invoke(manga: Manga): Manga {
|
suspend operator fun invoke(manga: Manga): Manga {
|
||||||
return invoke(listOf(manga)).single()
|
return if (manga.id <= 0) invoke(listOf(manga)).single() else manga
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend operator fun invoke(manga: List<Manga>): List<Manga> {
|
suspend operator fun invoke(manga: List<Manga>): List<Manga> {
|
||||||
return mangaRepository.insertNetworkManga(manga)
|
return mangaRepository.insertNetworkManga(manga)
|
||||||
}
|
}
|
||||||
|
|
||||||
// KMK -->
|
|
||||||
suspend fun getLocal(manga: Manga): Manga = if (manga.id <= 0) {
|
|
||||||
invoke(manga)
|
|
||||||
} else {
|
|
||||||
manga
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun getLocal(mangas: List<Manga>): List<Manga> {
|
|
||||||
return mangas.map { manga ->
|
|
||||||
if (manga.id <= 0) {
|
|
||||||
invoke(manga)
|
|
||||||
} else {
|
|
||||||
manga
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// KMK <--
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue