Fully utilize WorkManager for library updates (#9007)

No more trampolining, and stuff.

It's pretty much straight copy-paste from the service, with
some changes related to cancellation handling. Manual updates
will also runs with workman job so auto update work
scheduling need some adjustments too.

Bumped version code to re-enqueue auto update job with the
new spec.

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit ef9dacde79b1803ec117aae4ea948194b6394605)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
This commit is contained in:
Ivan Iskandar
2023-02-08 10:37:20 +07:00
committed by Jobobby04
parent f54e5515ac
commit 4f4205230f
12 changed files with 805 additions and 853 deletions
+4
View File
@@ -515,6 +515,10 @@ object EXHMigrations {
val trackManager = Injekt.get<TrackManager>()
trackManager.mdList.logout()
}
if (oldVersion under 48) {
LibraryUpdateJob.cancelAllWorks(context)
LibraryUpdateJob.setupTask(context)
}
// if (oldVersion under 1) { } (1 is current release version)
// do stuff here when releasing changed crap