mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Get current track services when composing LibrarySettingsDialog
Fixes #9431
This commit is contained in:
		@@ -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()),
 | 
			
		||||
 
 | 
			
		||||
@@ -225,7 +225,6 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
 | 
			
		||||
        val skippedUpdates = CopyOnWriteArrayList<Pair<Manga, String?>>()
 | 
			
		||||
        val failedUpdates = CopyOnWriteArrayList<Pair<Manga, String?>>()
 | 
			
		||||
        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)
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
 
 | 
			
		||||
@@ -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<Boolean>) {
 | 
			
		||||
        preference(libraryPreferences).toggle()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user