mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Directly pass read chapter when updating tracker
This commit is contained in:
		| @@ -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. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user