refactor(tracker): Check if tracker is EnhancedTrackService from the function itself

This commit is contained in:
Ahmad Ansori Palembani 2024-08-26 14:47:32 +07:00
parent da99cf5cfa
commit 94567a37fa
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
3 changed files with 8 additions and 10 deletions

View file

@ -36,7 +36,6 @@ import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.EnhancedTrackService
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.domain.manga.models.Manga
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
@ -322,9 +321,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
val newTrack = service.refresh(track)
db.insertTrack(newTrack).executeAsBlocking()
if (service is EnhancedTrackService) {
syncChaptersWithTrackServiceTwoWay(db, getChapter.awaitAll(manga.id!!, false), track, service)
}
syncChaptersWithTrackServiceTwoWay(db, getChapter.awaitAll(manga.id!!, false), track, service)
} catch (e: Exception) {
Logger.e(e)
}

View file

@ -1024,9 +1024,7 @@ class MangaDetailsPresenter(
}
if (trackItem != null) {
db.insertTrack(trackItem).executeAsBlocking()
if (item.service is EnhancedTrackService) {
syncChaptersWithTrackServiceTwoWay(db, chapters, trackItem, item.service)
}
syncChaptersWithTrackServiceTwoWay(db, chapters, trackItem, item.service)
trackItem
} else {
item.track
@ -1069,9 +1067,7 @@ class MangaDetailsPresenter(
db.insertTrack(binding).executeAsBlocking()
}
if (service is EnhancedTrackService) {
syncChaptersWithTrackServiceTwoWay(db, chapters, item, service)
}
syncChaptersWithTrackServiceTwoWay(db, chapters, item, service)
}
fetchTracks()
}

View file

@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.DelayedTrackingUpdateJob
import eu.kanade.tachiyomi.data.track.EnhancedTrackService
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.util.system.e
@ -34,6 +35,10 @@ suspend fun syncChaptersWithTrackServiceTwoWay(
service: TrackService,
updateChapter: UpdateChapter = Injekt.get(),
) = withIOContext {
if (service !is EnhancedTrackService) {
return@withIOContext
}
val sortedChapters = chapters.sortedBy { it.chapter_number }
sortedChapters
.filter { chapter -> chapter.chapter_number <= remoteTrack.last_chapter_read && !chapter.read }