mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-15 13:37:29 +01:00
Migrate usages of SyncChaptersWithTrackServiceTwoWay
This commit is contained in:
@@ -52,7 +52,7 @@ object ChapterSettingsHelper {
|
||||
*/
|
||||
fun updateAllMangasWithGlobalDefaults() {
|
||||
launchIO {
|
||||
val updatedMangas = db.getFavoriteMangas(sortByTitle = false)
|
||||
val updatedMangas = db.getFavoriteMangas()
|
||||
.executeAsBlocking()
|
||||
.map { manga ->
|
||||
with(manga) {
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
package eu.kanade.tachiyomi.util.chapter
|
||||
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
import eu.kanade.tachiyomi.data.database.models.Track
|
||||
import eu.kanade.tachiyomi.data.track.TrackService
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
import eu.kanade.tachiyomi.util.system.logcat
|
||||
import logcat.LogPriority
|
||||
|
||||
/**
|
||||
* Helper method for syncing a remote track with the local chapters, and back
|
||||
*
|
||||
* @param db the database.
|
||||
* @param chapters a list of chapters from the source.
|
||||
* @param remoteTrack the remote Track object.
|
||||
* @param service the tracker service.
|
||||
*/
|
||||
fun syncChaptersWithTrackServiceTwoWay(db: DatabaseHelper, chapters: List<Chapter>, remoteTrack: Track, service: TrackService) {
|
||||
val sortedChapters = chapters.sortedBy { it.chapter_number }
|
||||
sortedChapters
|
||||
.filter { chapter -> chapter.chapter_number <= remoteTrack.last_chapter_read && !chapter.read }
|
||||
.forEach { it.read = true }
|
||||
db.updateChaptersProgress(sortedChapters).executeAsBlocking()
|
||||
|
||||
// only take into account continuous reading
|
||||
val localLastRead = sortedChapters.takeWhile { it.read }.lastOrNull()?.chapter_number ?: 0F
|
||||
|
||||
// update remote
|
||||
remoteTrack.last_chapter_read = localLastRead
|
||||
|
||||
launchIO {
|
||||
try {
|
||||
service.update(remoteTrack)
|
||||
db.insertTrack(remoteTrack).executeAsBlocking()
|
||||
} catch (e: Throwable) {
|
||||
logcat(LogPriority.WARN, e)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user