New alphabetical chapter sort (#10073)

* added alphabetical chapter sorting

* Deleted sort_by_alphabet and re-utilized action_sort_alpha

* Accidentally deleted wrong string. Now solved

* Accidentally deleted wrong string. Now solved

Deleted sort_by_source instead of sort_by_alphabet in strings.xml.
Now reverted.

* Alphabetical sorting now uses Collator

* Clean up repeated Collator instances

---------

Co-authored-by: arkon <eugcheung94@gmail.com>
This commit is contained in:
Ota
2023-11-05 04:47:32 +09:00
committed by GitHub
parent 5d91b77c93
commit f30ab56fd0
6 changed files with 26 additions and 14 deletions

View File

@@ -1,5 +1,6 @@
package tachiyomi.domain.chapter.service
import tachiyomi.core.util.lang.compareToWithCollator
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
@@ -23,6 +24,10 @@ fun getChapterSort(
true -> { c1, c2 -> c2.dateUpload.compareTo(c1.dateUpload) }
false -> { c1, c2 -> c1.dateUpload.compareTo(c2.dateUpload) }
}
Manga.CHAPTER_SORTING_ALPHABET -> when (sortDescending) {
true -> { c1, c2 -> c2.name.compareToWithCollator(c1.name) }
false -> { c1, c2 -> c1.name.compareToWithCollator(c2.name) }
}
else -> throw NotImplementedError("Invalid chapter sorting method: ${manga.sorting}")
}
}

View File

@@ -85,6 +85,7 @@ data class Manga(
const val CHAPTER_SORTING_SOURCE = 0x00000000L
const val CHAPTER_SORTING_NUMBER = 0x00000100L
const val CHAPTER_SORTING_UPLOAD_DATE = 0x00000200L
const val CHAPTER_SORTING_ALPHABET = 0x00000300L
const val CHAPTER_SORTING_MASK = 0x00000300L
const val CHAPTER_DISPLAY_NAME = 0x00000000L