Directly pass read chapter when updating tracker
(cherry picked from commit b642e019e8
)
Cette révision appartient à :
Parent
7a4763ee68
révision
0fd00331e1
1 fichiers modifiés avec 5 ajouts et 15 suppressions
|
@ -319,7 +319,7 @@ class ReaderPresenter(
|
|||
selectedChapter.chapter.last_page_read = page.index
|
||||
if (selectedChapter.pages?.lastIndex == page.index) {
|
||||
selectedChapter.chapter.read = true
|
||||
updateTrackLastChapterRead()
|
||||
updateTrackChapterRead(selectedChapter)
|
||||
enqueueDeleteReadChapters(selectedChapter)
|
||||
}
|
||||
|
||||
|
@ -554,21 +554,11 @@ class ReaderPresenter(
|
|||
* Starts the service that updates the last chapter read in sync services. This operation
|
||||
* will run in a background thread and errors are ignored.
|
||||
*/
|
||||
private fun updateTrackLastChapterRead() {
|
||||
private fun updateTrackChapterRead(readerChapter: ReaderChapter) {
|
||||
if (!preferences.autoUpdateTrack()) return
|
||||
val viewerChapters = viewerChaptersRelay.value ?: return
|
||||
val manga = manga ?: return
|
||||
|
||||
val currChapter = viewerChapters.currChapter.chapter
|
||||
val prevChapter = viewerChapters.prevChapter?.chapter
|
||||
|
||||
// Get the last chapter read from the reader.
|
||||
val lastChapterRead = if (currChapter.read)
|
||||
currChapter.chapter_number.toInt()
|
||||
else if (prevChapter != null && prevChapter.read)
|
||||
prevChapter.chapter_number.toInt()
|
||||
else
|
||||
return
|
||||
val chapterRead = readerChapter.chapter.chapter_number.toInt()
|
||||
|
||||
val trackManager = Injekt.get<TrackManager>()
|
||||
|
||||
|
@ -576,8 +566,8 @@ class ReaderPresenter(
|
|||
.flatMapCompletable { trackList ->
|
||||
Completable.concat(trackList.map { track ->
|
||||
val service = trackManager.getService(track.sync_id)
|
||||
if (service != null && service.isLogged && lastChapterRead > track.last_chapter_read) {
|
||||
track.last_chapter_read = lastChapterRead
|
||||
if (service != null && service.isLogged && chapterRead > track.last_chapter_read) {
|
||||
track.last_chapter_read = chapterRead
|
||||
|
||||
// We wan't these to execute even if the presenter is destroyed and leaks
|
||||
// for a while. The view can still be garbage collected.
|
||||
|
|
Référencer dans un nouveau ticket