mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Filter archive files as sequence
This commit is contained in:
		| @@ -42,18 +42,16 @@ class RarPageLoader(file: File) : PageLoader() { | ||||
|      * comparator. | ||||
|      */ | ||||
|     override fun getPages(): Observable<List<ReaderPage>> { | ||||
|         return archive.fileHeaders | ||||
|         return archive.fileHeaders.asSequence() | ||||
|             .filter { !it.isDirectory && ImageUtil.isImage(it.fileName) { archive.getInputStream(it) } } | ||||
|             .sortedWith { f1, f2 -> f1.fileName.compareToCaseInsensitiveNaturalOrder(f2.fileName) } | ||||
|             .mapIndexed { i, header -> | ||||
|                 val streamFn = { getStream(header) } | ||||
|  | ||||
|                 ReaderPage(i).apply { | ||||
|                     stream = streamFn | ||||
|                     stream = { getStream(header) } | ||||
|                     status = Page.READY | ||||
|                 } | ||||
|             } | ||||
|             .let { Observable.just(it) } | ||||
|             .let { Observable.just(it.toList()) } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -37,17 +37,16 @@ class ZipPageLoader(file: File) : PageLoader() { | ||||
|      * comparator. | ||||
|      */ | ||||
|     override fun getPages(): Observable<List<ReaderPage>> { | ||||
|         return zip.entries().toList() | ||||
|         return zip.entries().asSequence() | ||||
|             .filter { !it.isDirectory && ImageUtil.isImage(it.name) { zip.getInputStream(it) } } | ||||
|             .sortedWith { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) } | ||||
|             .mapIndexed { i, entry -> | ||||
|                 val streamFn = { zip.getInputStream(entry) } | ||||
|                 ReaderPage(i).apply { | ||||
|                     stream = streamFn | ||||
|                     stream = { zip.getInputStream(entry) } | ||||
|                     status = Page.READY | ||||
|                 } | ||||
|             } | ||||
|             .let { Observable.just(it) } | ||||
|             .let { Observable.just(it.toList()) } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user