Browse Source

Sort library items alphabetically in secondary pass

Fixes #7461
arkon 2 years ago
parent
commit
224f29077d

+ 6 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt

@@ -266,11 +266,15 @@ class LibraryPresenter(
         val collator = Collator.getInstance(locale).apply {
             strength = Collator.PRIMARY
         }
+        val sortAlphabetically: (LibraryItem, LibraryItem) -> Int = { i1, i2 ->
+            collator.compare(i1.libraryManga.manga.title.lowercase(locale), i2.libraryManga.manga.title.lowercase(locale))
+        }
+
         val sortFn: (LibraryItem, LibraryItem) -> Int = { i1, i2 ->
             val sort = sortModes[i1.libraryManga.category]!!
             when (sort.type) {
                 LibrarySort.Type.Alphabetical -> {
-                    collator.compare(i1.libraryManga.manga.title.lowercase(locale), i2.libraryManga.manga.title.lowercase(locale))
+                    sortAlphabetically(i1, i2)
                 }
                 LibrarySort.Type.LastRead -> {
                     i1.libraryManga.lastRead.compareTo(i2.libraryManga.lastRead)
@@ -308,7 +312,7 @@ class LibraryPresenter(
                 Collections.reverseOrder(sortFn)
             }
 
-            entry.value.sortedWith(comparator)
+            entry.value.sortedWith(comparator.thenComparator(sortAlphabetically))
         }
     }