Make default tracking status depend if the user has read chapter or not (#5567)

- When user reads a chapter change tracking status to reading
This commit is contained in:
Andreas
2021-07-17 17:26:29 +02:00
committed by GitHub
parent ef84ed4982
commit c0647c3110
9 changed files with 120 additions and 23 deletions

View File

@@ -779,7 +779,8 @@ class MangaPresenter(
item.manga_id = manga.id!!
launchIO {
try {
service.bind(item)
val hasReadChapters = allChapters.any { it.read }
service.bind(item, hasReadChapters)
db.insertTrack(item).executeAsBlocking()
if (service is UnattendedTrackService) {
@@ -830,6 +831,9 @@ class MangaPresenter(
fun setTrackerLastChapterRead(item: TrackItem, chapterNumber: Int) {
val track = item.track!!
if (track.last_chapter_read == 0 && track.last_chapter_read < chapterNumber && track.status != item.service.getRereadingStatus()) {
track.status = item.service.getReadingStatus()
}
track.last_chapter_read = chapterNumber
if (track.total_chapters != 0 && track.last_chapter_read == track.total_chapters) {
track.status = item.service.getCompletionStatus()

View File

@@ -713,7 +713,7 @@ class ReaderPresenter(
// for a while. The view can still be garbage collected.
async {
runCatching {
service.update(track)
service.update(track, true)
db.insertTrack(track).executeAsBlocking()
}
}