From 91c05e76bc9beb98654cdb8a3ac8806152a90a65 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Tue, 22 Sep 2020 14:22:21 -0400 Subject: [PATCH] Fix mangadex manga getting set to completed when not actually finished --- .../java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt index 6dfb8d713..382a0438a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt @@ -9,6 +9,7 @@ import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.model.TrackSearch +import eu.kanade.tachiyomi.source.model.SManga import exh.md.utils.FollowStatus import exh.md.utils.MdUtil import exh.metadata.metadata.MangaDexSearchMetadata @@ -96,7 +97,8 @@ class MdList(private val context: Context, id: Int) : TrackService(id) { return mdex.fetchTrackingInfo(track.tracking_url).asObservable() .doOnNext { remoteTrack -> track.copyPersonalFrom(remoteTrack) - track.total_chapters = if (remoteTrack.total_chapters == 0) { + val manga = db.getManga(track.manga_id).executeAsBlocking() + track.total_chapters = if (manga != null && manga.status == SManga.COMPLETED && remoteTrack.total_chapters == 0) { db.getChapters(track.manga_id).executeAsBlocking().maxOfOrNull { it.chapter_number }?.floor() ?: remoteTrack.total_chapters } else { remoteTrack.total_chapters @@ -110,7 +112,8 @@ class MdList(private val context: Context, id: Int) : TrackService(id) { return mdex.fetchTrackingInfo(track.tracking_url).asObservable() .map { remoteTrack -> track.copyPersonalFrom(remoteTrack) - track.total_chapters = if (remoteTrack.total_chapters == 0) { + val manga = db.getManga(track.manga_id).executeAsBlocking() + track.total_chapters = if (manga != null && manga.status == SManga.COMPLETED && remoteTrack.total_chapters == 0) { db.getChapters(track.manga_id).executeAsBlocking().maxOfOrNull { it.chapter_number }?.floor() ?: remoteTrack.total_chapters } else { remoteTrack.total_chapters