From f3a2b1d7e4ee8f4fd6bad58c9334cee190f6f475 Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 29 Oct 2022 10:11:12 -0400 Subject: [PATCH] Sort library items alphabetically in secondary pass Fixes #7461 (cherry picked from commit 224f29077d37ca72c5a9f01649998c80d7bafedd) --- .../eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt index e42273b60..eabb6d781 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt @@ -401,6 +401,10 @@ 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 -> // SY --> val sort = when (groupType) { @@ -410,7 +414,7 @@ class LibraryPresenter( // SY <-- 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) @@ -462,7 +466,7 @@ class LibraryPresenter( Collections.reverseOrder(sortFn) } - entry.value.sortedWith(comparator) + entry.value.sortedWith(comparator.thenComparator(sortAlphabetically)) } }