@ -21,6 +21,7 @@ import eu.kanade.tachiyomi.data.library.LibraryUpdateService.Companion.start
import eu.kanade.tachiyomi.data.notification.Notifications
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.UnattendedTrackService
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.model.SManga
@ -273,6 +274,7 @@ class LibraryUpdateService(
val newUpdates = mutableListOf < Pair < LibraryManga , Array < Chapter > > > ( )
val failedUpdates = mutableListOf < Pair < Manga , String ? > > ( )
var hasDownloads = false
val loggedServices by lazy { trackManager . services . filter { it . isLogged } }
mangaToUpdate . forEach { manga ->
if ( updateJob ?. isActive != true ) {
@ -301,6 +303,10 @@ class LibraryUpdateService(
}
failedUpdates . add ( manga to errorMessage )
}
if ( preferences . autoUpdateTrackers ( ) ) {
updateTrackings ( manga , loggedServices )
}
}
notifier . cancelProgressNotification ( )
@ -409,6 +415,13 @@ class LibraryUpdateService(
notifier . showProgressNotification ( manga , progressCount ++ , mangaToUpdate . size )
// Update the tracking details.
updateTrackings ( manga , loggedServices )
}
notifier . cancelProgressNotification ( )
}
private suspend fun updateTrackings ( manga : LibraryManga , loggedServices : List < TrackService > ) {
db . getTracks ( manga ) . executeAsBlocking ( )
. map { track ->
supervisorScope {
@ -433,9 +446,6 @@ class LibraryUpdateService(
. awaitAll ( )
}
notifier . cancelProgressNotification ( )
}
/ * *
* Writes basic file of update errors to cache dir .
* /