mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Added missing sorting cases handling
Previous commit missed some cases resulting in errors at runtime
(cherry picked from commit 9e830f1c55)
			
			
This commit is contained in:
		
				
					committed by
					
						 Jobobby04
						Jobobby04
					
				
			
			
				
	
			
			
			
						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") | ||||
|         } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user