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_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.data.preference.PreferencesHelper 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.data.track.TrackManager
import eu.kanade.tachiyomi.domain.manga.models.Manga import eu.kanade.tachiyomi.domain.manga.models.Manga
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
@ -322,9 +321,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
val newTrack = service.refresh(track) val newTrack = service.refresh(track)
db.insertTrack(newTrack).executeAsBlocking() 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) { } catch (e: Exception) {
Logger.e(e) Logger.e(e)
} }

View file

@ -1024,9 +1024,7 @@ class MangaDetailsPresenter(
} }
if (trackItem != null) { if (trackItem != null) {
db.insertTrack(trackItem).executeAsBlocking() db.insertTrack(trackItem).executeAsBlocking()
if (item.service is EnhancedTrackService) { syncChaptersWithTrackServiceTwoWay(db, chapters, trackItem, item.service)
syncChaptersWithTrackServiceTwoWay(db, chapters, trackItem, item.service)
}
trackItem trackItem
} else { } else {
item.track item.track
@ -1069,9 +1067,7 @@ class MangaDetailsPresenter(
db.insertTrack(binding).executeAsBlocking() db.insertTrack(binding).executeAsBlocking()
} }
if (service is EnhancedTrackService) { syncChaptersWithTrackServiceTwoWay(db, chapters, item, service)
syncChaptersWithTrackServiceTwoWay(db, chapters, item, service)
}
} }
fetchTracks() 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.database.models.Track
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.DelayedTrackingUpdateJob 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.TrackManager
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.util.system.e import eu.kanade.tachiyomi.util.system.e
@ -34,6 +35,10 @@ suspend fun syncChaptersWithTrackServiceTwoWay(
service: TrackService, service: TrackService,
updateChapter: UpdateChapter = Injekt.get(), updateChapter: UpdateChapter = Injekt.get(),
) = withIOContext { ) = withIOContext {
if (service !is EnhancedTrackService) {
return@withIOContext
}
val sortedChapters = chapters.sortedBy { it.chapter_number } val sortedChapters = chapters.sortedBy { it.chapter_number }
sortedChapters sortedChapters
.filter { chapter -> chapter.chapter_number <= remoteTrack.last_chapter_read && !chapter.read } .filter { chapter -> chapter.chapter_number <= remoteTrack.last_chapter_read && !chapter.read }