diff --git a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt index 35db5758a5..b9b59e3a61 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt @@ -120,12 +120,13 @@ private fun ColumnScope.FilterPage( onClick = { screenModel.toggleFilter(LibraryPreferences::filterCompleted) }, ) - when (screenModel.trackServices.size) { + val trackServices = remember { screenModel.trackServices } + when (trackServices.size) { 0 -> { // No trackers } 1 -> { - val service = screenModel.trackServices[0] + val service = trackServices[0] val filterTracker by screenModel.libraryPreferences.filterTracking(service.id.toInt()).collectAsState() TriStateItem( label = stringResource(R.string.action_filter_tracked), @@ -135,7 +136,7 @@ private fun ColumnScope.FilterPage( } else -> { HeadingItem(R.string.action_filter_tracked) - screenModel.trackServices.map { service -> + trackServices.map { service -> val filterTracker by screenModel.libraryPreferences.filterTracking(service.id.toInt()).collectAsState() TriStateItem( label = stringResource(service.nameRes()), diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index e92fa48123..54e000d5fa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -225,7 +225,6 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet val skippedUpdates = CopyOnWriteArrayList>() val failedUpdates = CopyOnWriteArrayList>() val hasDownloads = AtomicBoolean(false) - val loggedServices by lazy { trackManager.services.filter { it.isLogged } } val restrictions = libraryPreferences.libraryUpdateMangaRestriction().get() coroutineScope { @@ -290,6 +289,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet } if (libraryPreferences.autoUpdateTrackers().get()) { + val loggedServices = trackManager.services.filter { it.isLogged } updateTrackings(manga, loggedServices) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt index 031f36ed71..673be79340 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt @@ -23,10 +23,11 @@ class LibrarySettingsScreenModel( val libraryPreferences: LibraryPreferences = Injekt.get(), private val setDisplayModeForCategory: SetDisplayModeForCategory = Injekt.get(), private val setSortModeForCategory: SetSortModeForCategory = Injekt.get(), - trackManager: TrackManager = Injekt.get(), + private val trackManager: TrackManager = Injekt.get(), ) : ScreenModel { - val trackServices = trackManager.services.filter { service -> service.isLogged } + val trackServices + get() = trackManager.services.filter { it.isLogged } fun togglePreference(preference: (LibraryPreferences) -> Preference) { preference(libraryPreferences).toggle()