From e2a81b1f0c6e51dd330b502cf9050be67fa2c25f Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sun, 18 Jul 2021 22:04:21 -0400 Subject: [PATCH] Support new tracking feature in MDList --- .../kanade/tachiyomi/data/track/mdlist/MdList.kt | 16 ++++++++++++++-- 1 file changed, 14 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 d046e7cbb..7a7d5fa7c 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 @@ -45,7 +45,7 @@ class MdList(private val context: Context, id: Int) : TrackService(id) { override fun displayScore(track: Track) = track.score.toInt().toString() - override suspend fun update(track: Track): Track { + override suspend fun update(track: Track, didReadChapter: Boolean): Track { return withIOContext { val mdex = mdex ?: throw MangaDexNotFoundException() @@ -91,7 +91,19 @@ class MdList(private val context: Context, id: Int) : TrackService(id) { override fun getCompletionStatus(): Int = FollowStatus.COMPLETED.int - override suspend fun bind(track: Track): Track = update(refresh(track).also { if (it.status == FollowStatus.UNFOLLOWED.int) it.status = FollowStatus.READING.int }) + override fun getReadingStatus(): Int = FollowStatus.READING.int + + override fun getRereadingStatus(): Int = FollowStatus.RE_READING.int + + override suspend fun bind(track: Track, hasReadChapters: Boolean): Track = update( + refresh(track).also { + if (it.status == FollowStatus.UNFOLLOWED.int) { + it.status = if (hasReadChapters) { + FollowStatus.READING.int + } else FollowStatus.PLAN_TO_READ.int + } + } + ) override suspend fun refresh(track: Track): Track { return withIOContext {