Change return value of SyncChaptersWithSource.await()

`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.

Removed `toDelete` from return value as it was not being used anywhere
This commit is contained in:
AntsyLich 2022-08-10 21:22:30 +06:00 committed by arkon
parent 1cbe225a94
commit 657f1cf65f
3 changed files with 9 additions and 8 deletions

View File

@ -32,7 +32,7 @@ class SyncChaptersWithSource(
rawSourceChapters: List<SChapter>,
manga: Manga,
source: Source,
): Pair<List<Chapter>, List<Chapter>> {
): List<Chapter> {
if (rawSourceChapters.isEmpty() && source.id != LocalSource.ID) {
throw NoChaptersException()
}
@ -114,7 +114,7 @@ class SyncChaptersWithSource(
// Return if there's nothing to add, delete or change, avoiding unnecessary db transactions.
if (toAdd.isEmpty() && toDelete.isEmpty() && toChange.isEmpty()) {
return Pair(emptyList(), emptyList())
return emptyList()
}
val reAdded = mutableListOf<Chapter>()
@ -174,7 +174,8 @@ class SyncChaptersWithSource(
// Note that last_update actually represents last time the chapter list changed at all
updateManga.awaitUpdateLastUpdate(manga.id)
@Suppress("ConvertArgumentToSet") // See tachiyomiorg/tachiyomi#6372.
return Pair(updatedToAdd.subtract(reAdded).toList(), toDelete.subtract(reAdded).toList())
val reAddedUrls = reAdded.map { it.url }
return updatedToAdd.filterNot { it.url in reAddedUrls }
}
}

View File

@ -350,7 +350,7 @@ class LibraryUpdateService(
else -> {
// Convert to the manga that contains new chapters
mangaWithNotif.toDomainManga()?.let { domainManga ->
val (newChapters, _) = updateManga(domainManga)
val newChapters = updateManga(domainManga)
val newDbChapters = newChapters.map { it.toDbChapter() }
if (newChapters.isNotEmpty()) {
@ -428,7 +428,7 @@ class LibraryUpdateService(
* @param manga the manga to update.
* @return a pair of the inserted and removed chapters.
*/
private suspend fun updateManga(manga: DomainManga): Pair<List<DomainChapter>, List<DomainChapter>> {
private suspend fun updateManga(manga: DomainManga): List<DomainChapter> {
val source = sourceManager.getOrStub(manga.source)
val mangaInfo: MangaInfo = manga.toMangaInfo()
@ -444,7 +444,7 @@ class LibraryUpdateService(
// Get manga from database to account for if it was removed during the update
val dbManga = getManga.await(manga.id)
?: return Pair(emptyList(), emptyList())
?: return emptyList()
// [dbmanga] was used so that manga data doesn't get overwritten
// in case manga gets new chapter

View File

@ -521,7 +521,7 @@ class MangaPresenter(
val chapters = successState.source.getChapterList(successState.manga.toMangaInfo())
.map { it.toSChapter() }
val (newChapters, _) = syncChaptersWithSource.await(
val newChapters = syncChaptersWithSource.await(
chapters,
successState.manga,
successState.source,