Skip to content

Commit

Permalink
fix(AnimeLibraryUpdate): Worker names, setupTask call and migrations (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
Samfun75 authored Aug 11, 2023
1 parent b59e911 commit bcda386
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import eu.kanade.tachiyomi.data.cache.ChapterCache
import eu.kanade.tachiyomi.data.cache.EpisodeCache
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadCache
import eu.kanade.tachiyomi.data.download.manga.MangaDownloadCache
import eu.kanade.tachiyomi.data.library.anime.AnimeLibraryUpdateJob
import eu.kanade.tachiyomi.data.library.manga.MangaLibraryUpdateJob
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.network.NetworkHelper
Expand Down Expand Up @@ -322,13 +323,19 @@ object SettingsAdvancedScreen : SearchableSettings {
preferenceItems = listOf(
Preference.PreferenceItem.TextPreference(
title = stringResource(R.string.pref_refresh_library_covers),
onClick = { MangaLibraryUpdateJob.startNow(context, target = MangaLibraryUpdateJob.Target.COVERS) },
onClick = {
MangaLibraryUpdateJob.startNow(context, target = MangaLibraryUpdateJob.Target.COVERS)
AnimeLibraryUpdateJob.startNow(context, target = AnimeLibraryUpdateJob.Target.COVERS)
},
),
Preference.PreferenceItem.TextPreference(
title = stringResource(R.string.pref_refresh_library_tracking),
subtitle = stringResource(R.string.pref_refresh_library_tracking_summary),
enabled = trackManager.hasLoggedServices(),
onClick = { MangaLibraryUpdateJob.startNow(context, target = MangaLibraryUpdateJob.Target.TRACKING) },
onClick = {
MangaLibraryUpdateJob.startNow(context, target = MangaLibraryUpdateJob.Target.TRACKING)
AnimeLibraryUpdateJob.startNow(context, target = AnimeLibraryUpdateJob.Target.TRACKING)
},
),
Preference.PreferenceItem.TextPreference(
title = stringResource(R.string.pref_reset_viewer_flags),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import eu.kanade.presentation.more.settings.Preference
import eu.kanade.presentation.more.settings.widget.TriStateListDialog
import eu.kanade.presentation.util.collectAsState
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.library.anime.AnimeLibraryUpdateJob
import eu.kanade.tachiyomi.data.library.manga.MangaLibraryUpdateJob
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.ui.category.CategoriesTab
Expand Down Expand Up @@ -217,6 +218,7 @@ object SettingsLibraryScreen : SearchableSettings {
),
onValueChanged = {
MangaLibraryUpdateJob.setupTask(context, it)
AnimeLibraryUpdateJob.setupTask(context, it)
true
},
),
Expand All @@ -233,7 +235,10 @@ object SettingsLibraryScreen : SearchableSettings {
),
onValueChanged = {
// Post to event looper to allow the preference to be updated.
ContextCompat.getMainExecutor(context).execute { MangaLibraryUpdateJob.setupTask(context) }
ContextCompat.getMainExecutor(context).execute {
MangaLibraryUpdateJob.setupTask(context)
AnimeLibraryUpdateJob.setupTask(context)
}
true
},
),
Expand Down
6 changes: 2 additions & 4 deletions app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ object Migrations {
if (oldVersion < 14) {
// Restore jobs after upgrading to Evernote's job scheduler.
MangaLibraryUpdateJob.setupTask(context)
AnimeLibraryUpdateJob.setupTask(context)
}
if (oldVersion < 15) {
// Delete internal chapter cache dir.
Expand Down Expand Up @@ -103,6 +104,7 @@ object Migrations {
if (oldVersion < 43) {
// Restore jobs after migrating from Evernote's job scheduler to WorkManager.
MangaLibraryUpdateJob.setupTask(context)
AnimeLibraryUpdateJob.setupTask(context)
BackupCreateJob.setupTask(context)
}
if (oldVersion < 44) {
Expand Down Expand Up @@ -199,10 +201,6 @@ object Migrations {
if (updateInterval == 1 || updateInterval == 2) {
libraryPreferences.libraryUpdateInterval().set(3)
MangaLibraryUpdateJob.setupTask(context, 3)
}
val animeupdateInterval = libraryPreferences.libraryUpdateInterval().get()
if (animeupdateInterval == 1 || animeupdateInterval == 2) {
libraryPreferences.libraryUpdateInterval().set(3)
AnimeLibraryUpdateJob.setupTask(context, 3)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -516,9 +516,9 @@ class AnimeLibraryUpdateJob(private val context: Context, workerParams: WorkerPa
}

companion object {
private const val TAG = "AnimelibUpdate"
private const val WORK_NAME_AUTO = "LibraryUpdate-auto"
private const val WORK_NAME_MANUAL = "LibraryUpdate-manual"
private const val TAG = "AnimeLibraryUpdate"
private const val WORK_NAME_AUTO = "AnimeLibraryUpdate-auto"
private const val WORK_NAME_MANUAL = "AnimeLibraryUpdate-manual"

private const val ERROR_LOG_HELP_URL = "https://aniyomi.org/help/guides/troubleshooting"

Expand All @@ -527,12 +527,12 @@ class AnimeLibraryUpdateJob(private val context: Context, workerParams: WorkerPa
/**
* Key for category to update.
*/
private const val KEY_CATEGORY = "category"
private const val KEY_CATEGORY = "animeCategory"

/**
* Key that defines what should be updated.
*/
private const val KEY_TARGET = "target"
private const val KEY_TARGET = "animeTarget"

fun cancelAllWorks(context: Context) {
context.workManager.cancelAllWorkByTag(TAG)
Expand Down

0 comments on commit bcda386

Please sign in to comment.