mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Use more up-to-date fork of junrar
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| package eu.kanade.tachiyomi.source | ||||
|  | ||||
| import android.content.Context | ||||
| import com.github.junrar.Archive | ||||
| import com.google.gson.JsonParser | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.source.model.Filter | ||||
| @@ -14,8 +15,6 @@ import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.EpubFile | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
| import rx.Observable | ||||
| import timber.log.Timber | ||||
| import java.io.File | ||||
| @@ -23,7 +22,6 @@ import java.io.FileInputStream | ||||
| import java.io.InputStream | ||||
| import java.util.Locale | ||||
| import java.util.concurrent.TimeUnit | ||||
| import java.util.zip.ZipEntry | ||||
| import java.util.zip.ZipFile | ||||
|  | ||||
| class LocalSource(private val context: Context) : CatalogueSource { | ||||
| @@ -278,7 +276,7 @@ class LocalSource(private val context: Context) : CatalogueSource { | ||||
|         return when (val format = getFormat(chapter)) { | ||||
|             is Format.Directory -> { | ||||
|                 val entry = format.file.listFiles() | ||||
|                     ?.sortedWith(Comparator<File> { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) }) | ||||
|                     ?.sortedWith { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) } | ||||
|                     ?.find { !it.isDirectory && ImageUtil.isImage(it.name) { FileInputStream(it) } } | ||||
|  | ||||
|                 entry?.let { updateCover(context, manga, it.inputStream()) } | ||||
| @@ -286,7 +284,7 @@ class LocalSource(private val context: Context) : CatalogueSource { | ||||
|             is Format.Zip -> { | ||||
|                 ZipFile(format.file).use { zip -> | ||||
|                     val entry = zip.entries().toList() | ||||
|                         .sortedWith(Comparator<ZipEntry> { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) }) | ||||
|                         .sortedWith { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) } | ||||
|                         .find { !it.isDirectory && ImageUtil.isImage(it.name) { zip.getInputStream(it) } } | ||||
|  | ||||
|                     entry?.let { updateCover(context, manga, zip.getInputStream(it)) } | ||||
| @@ -295,8 +293,8 @@ class LocalSource(private val context: Context) : CatalogueSource { | ||||
|             is Format.Rar -> { | ||||
|                 Archive(format.file).use { archive -> | ||||
|                     val entry = archive.fileHeaders | ||||
|                         .sortedWith(Comparator<FileHeader> { f1, f2 -> f1.fileNameString.compareToCaseInsensitiveNaturalOrder(f2.fileNameString) }) | ||||
|                         .find { !it.isDirectory && ImageUtil.isImage(it.fileNameString) { archive.getInputStream(it) } } | ||||
|                         .sortedWith { f1, f2 -> f1.fileName.compareToCaseInsensitiveNaturalOrder(f2.fileName) } | ||||
|                         .find { !it.isDirectory && ImageUtil.isImage(it.fileName) { archive.getInputStream(it) } } | ||||
|  | ||||
|                     entry?.let { updateCover(context, manga, archive.getInputStream(it)) } | ||||
|                 } | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| package eu.kanade.tachiyomi.ui.reader.loader | ||||
|  | ||||
| import com.github.junrar.Archive | ||||
| import com.github.junrar.rarfile.FileHeader | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
| import rx.Observable | ||||
| import java.io.File | ||||
| import java.io.InputStream | ||||
| @@ -43,8 +43,8 @@ class RarPageLoader(file: File) : PageLoader() { | ||||
|      */ | ||||
|     override fun getPages(): Observable<List<ReaderPage>> { | ||||
|         return archive.fileHeaders | ||||
|             .filter { !it.isDirectory && ImageUtil.isImage(it.fileNameString) { archive.getInputStream(it) } } | ||||
|             .sortedWith(Comparator<FileHeader> { f1, f2 -> f1.fileNameString.compareToCaseInsensitiveNaturalOrder(f2.fileNameString) }) | ||||
|             .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) } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user