mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Consider downloaded only mode when getting download counts in library
Fixes #8318
This commit is contained in:
		@@ -119,12 +119,9 @@ class LibraryPresenter(
 | 
			
		||||
        subscribeLibrary()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Subscribes to library if needed.
 | 
			
		||||
     */
 | 
			
		||||
    fun subscribeLibrary() {
 | 
			
		||||
        /**
 | 
			
		||||
         * TODO: Move this to a coroutine world
 | 
			
		||||
         * TODO:
 | 
			
		||||
         * - Move filter and sort to getMangaForCategory and only filter and sort the current display category instead of whole library as some has 5000+ items in the library
 | 
			
		||||
         * - Create new db view and new query to just fetch the current category save as needed to instance variable
 | 
			
		||||
         * - Fetch badges to maps and retrieve as needed instead of fetching all of them at once
 | 
			
		||||
@@ -325,13 +322,18 @@ class LibraryPresenter(
 | 
			
		||||
            getLibraryManga.subscribe(),
 | 
			
		||||
            libraryPreferences.downloadBadge().changes(),
 | 
			
		||||
            libraryPreferences.filterDownloaded().changes(),
 | 
			
		||||
            preferences.downloadedOnly().changes(),
 | 
			
		||||
            downloadCache.changes,
 | 
			
		||||
        ) { libraryMangaList, downloadBadgePref, filterDownloadedPref, _ ->
 | 
			
		||||
        ) { libraryMangaList, downloadBadgePref, filterDownloadedPref, downloadedOnly, _ ->
 | 
			
		||||
            libraryMangaList
 | 
			
		||||
                .map { libraryManga ->
 | 
			
		||||
                    val needsDownloadCounts = downloadBadgePref ||
 | 
			
		||||
                        filterDownloadedPref != State.IGNORE.value ||
 | 
			
		||||
                        downloadedOnly
 | 
			
		||||
 | 
			
		||||
                    // Display mode based on user preference: take it from global library setting or category
 | 
			
		||||
                    LibraryItem(libraryManga).apply {
 | 
			
		||||
                        downloadCount = if (downloadBadgePref || filterDownloadedPref != State.IGNORE.value) {
 | 
			
		||||
                        downloadCount = if (needsDownloadCounts) {
 | 
			
		||||
                            downloadManager.getDownloadCount(libraryManga.manga).toLong()
 | 
			
		||||
                        } else {
 | 
			
		||||
                            0
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user