Эх сурвалжийг харах

Show number of manga per source in migrate menu (#4703)

arkon 4 жил өмнө
parent
commit
c87b0e77de

+ 9 - 4
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesPresenter.kt

@@ -27,9 +27,14 @@ class MigrationSourcesPresenter(
 
     private fun findSourcesWithManga(library: List<Manga>): List<SourceItem> {
         val header = SelectionHeader()
-        return library.asSequence().map { it.source }.toSet()
-            .mapNotNull { if (it != LocalSource.ID) sourceManager.getOrStub(it) else null }
-            .sortedBy { it.name.toLowerCase() }
-            .map { SourceItem(it, header) }.toList()
+        return library
+            .groupBy { it.source }
+            .filterKeys { it != LocalSource.ID }
+            .map {
+                val source = sourceManager.getOrStub(it.key)
+                SourceItem(source, it.value.size, header)
+            }
+            .sortedBy { it.source.name.toLowerCase() }
+            .toList()
     }
 }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceHolder.kt

@@ -15,7 +15,7 @@ class SourceHolder(view: View, val adapter: SourceAdapter) :
     fun bind(item: SourceItem) {
         val source = item.source
 
-        binding.title.text = source.name
+        binding.title.text = "${source.name} (${item.mangaCount})"
         binding.subtitle.isVisible = source.lang != ""
         binding.subtitle.text = LocaleHelper.getDisplayName(source.lang)
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceItem.kt

@@ -14,7 +14,7 @@ import eu.kanade.tachiyomi.source.Source
  * @param source Instance of [Source] containing source information.
  * @param header The header for this item.
  */
-data class SourceItem(val source: Source, val header: SelectionHeader) :
+data class SourceItem(val source: Source, val mangaCount: Int, val header: SelectionHeader) :
     AbstractSectionableItem<SourceHolder, SelectionHeader>(header) {
 
     /**