diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt index 3a19f1531..312be9c73 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt @@ -1423,13 +1423,14 @@ class MangaController : // OVERFLOW MENU DIALOGS private fun getUnreadChaptersSorted() = /* SY --> */ if (presenter.source.isEhBasedSource()) presenter.chapters + .sortedWith(presenter.getChapterSort()) .filter { !it.read && it.status == Download.State.NOT_DOWNLOADED } .distinctBy { it.name } - .sortedBy { it.source_order } else /* SY <-- */ presenter.chapters + .sortedWith(presenter.getChapterSort()) .filter { !it.read && it.status == Download.State.NOT_DOWNLOADED } .distinctBy { it.name } - .sortedByDescending { it.source_order } + .reversed() private fun downloadChapters(choice: Int) { val chaptersToDownload = when (choice) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt index 4aa740da7..bbdc7554c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt @@ -846,7 +846,11 @@ class MangaPresenter( } // SY <-- - val sortFunction: (Chapter, Chapter) -> Int = when (manga.sorting) { + return observable.toSortedList(getChapterSort()) + } + + fun getChapterSort(): (Chapter, Chapter) -> Int { + return when (manga.sorting) { Manga.SORTING_SOURCE -> when (sortDescending()) { true -> { c1, c2 -> c1.source_order.compareTo(c2.source_order) } false -> { c1, c2 -> c2.source_order.compareTo(c1.source_order) } @@ -861,8 +865,6 @@ class MangaPresenter( } else -> throw NotImplementedError("Unimplemented sorting method") } - - return observable.toSortedList(sortFunction) } /**