Added missing sorting cases handling
Previous commit missed some cases resulting in errors at runtime (cherry picked from commit 9e830f1c55a9514462290868864b84194aef7b15)
This commit is contained in:
parent
f85c34b807
commit
46500dcb32
@ -35,3 +35,12 @@ class ChapterLoadByNumber {
|
||||
return chapters.sortedBy { it.chapter_number }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load strategy using the chapter upload date. This ordering ignores scanlators
|
||||
*/
|
||||
class ChapterLoadByUploadDate() {
|
||||
fun get(allChapters: List<Chapter>): List<Chapter> {
|
||||
return allChapters.sortedBy { it.date_upload }
|
||||
}
|
||||
}
|
||||
|
@ -130,6 +130,7 @@ class ReaderPresenter(
|
||||
when (manga.sorting) {
|
||||
Manga.SORTING_SOURCE -> ChapterLoadBySource().get(chaptersForReader)
|
||||
Manga.SORTING_NUMBER -> ChapterLoadByNumber().get(chaptersForReader, selectedChapter)
|
||||
Manga.SORTING_UPLOAD_DATE -> ChapterLoadByUploadDate().get(chaptersForReader)
|
||||
else -> error("Unknown sorting method")
|
||||
}.map(::ReaderChapter)
|
||||
}
|
||||
|
@ -145,6 +145,7 @@ class HistoryPresenter : BasePresenter<HistoryController>() {
|
||||
val sortFunction: (Chapter, Chapter) -> Int = when (manga.sorting) {
|
||||
Manga.SORTING_SOURCE -> { c1, c2 -> c2.source_order.compareTo(c1.source_order) }
|
||||
Manga.SORTING_NUMBER -> { c1, c2 -> c1.chapter_number.compareTo(c2.chapter_number) }
|
||||
Manga.SORTING_UPLOAD_DATE -> { c1, c2 -> c1.date_upload.compareTo(c2.date_upload) }
|
||||
else -> throw NotImplementedError("Unknown sorting method")
|
||||
}
|
||||
|
||||
@ -164,6 +165,12 @@ class HistoryPresenter : BasePresenter<HistoryController>() {
|
||||
it.chapter_number <= chapterNumber + 1
|
||||
}
|
||||
}
|
||||
Manga.SORTING_UPLOAD_DATE -> {
|
||||
val dateUpload = chapter.date_upload
|
||||
((currChapterIndex + 1) until chapters.size)
|
||||
.map { chapters[it] }
|
||||
.firstOrNull { it.date_upload > dateUpload }
|
||||
}
|
||||
else -> throw NotImplementedError("Unknown sorting method")
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user