mirror of
https://github.com/mihonapp/mihon.git
synced 2025-07-12 02:35:10 +02:00
merge
This commit is contained in:
@ -104,8 +104,7 @@ class ChapterLoader(
|
|||||||
is Format.Directory -> DirectoryPageLoader(format.file)
|
is Format.Directory -> DirectoryPageLoader(format.file)
|
||||||
is Format.Zip -> ZipPageLoader(format.file.openReadOnlyChannel(context))
|
is Format.Zip -> ZipPageLoader(format.file.openReadOnlyChannel(context))
|
||||||
is Format.SevenZip -> try {
|
is Format.SevenZip -> try {
|
||||||
val file = context.contentResolver.openFileDescriptor(format.file.uri, "r")
|
SevenZipPageLoader(format.file.openReadOnlyChannel(context)) {
|
||||||
SevenZipPageLoader(AutoCloseInputStream(file)) {
|
|
||||||
GlobalScope.launchUI {
|
GlobalScope.launchUI {
|
||||||
context.toast(context.stringResource(MR.strings.loader_7zip_slow_archives, it))
|
context.toast(context.stringResource(MR.strings.loader_7zip_slow_archives, it))
|
||||||
}
|
}
|
||||||
|
@ -4,17 +4,17 @@ import eu.kanade.tachiyomi.source.model.Page
|
|||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
||||||
import eu.kanade.tachiyomi.util.storage.SevenZUtil.getImages
|
import eu.kanade.tachiyomi.util.storage.SevenZUtil.getImages
|
||||||
import org.apache.commons.compress.archivers.sevenz.SevenZFile
|
import org.apache.commons.compress.archivers.sevenz.SevenZFile
|
||||||
import java.io.FileInputStream
|
import java.nio.channels.FileChannel
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loader used to load a chapter from a .7z or .cb7 file.
|
* Loader used to load a chapter from a .7z or .cb7 file.
|
||||||
*/
|
*/
|
||||||
internal class SevenZipPageLoader(
|
internal class SevenZipPageLoader(
|
||||||
private val file: FileInputStream,
|
private val file: FileChannel,
|
||||||
private val notifySlowArchive: (method: String) -> Unit,
|
private val notifySlowArchive: (method: String) -> Unit,
|
||||||
) : PageLoader() {
|
) : PageLoader() {
|
||||||
|
|
||||||
private val zip by lazy { SevenZFile(file.channel) }
|
private val zip by lazy { SevenZFile(file) }
|
||||||
|
|
||||||
override var isLocal: Boolean = true
|
override var isLocal: Boolean = true
|
||||||
|
|
||||||
|
@ -34,7 +34,6 @@ disklrucache = "com.jakewharton:disklrucache:2.0.2"
|
|||||||
unifile = "com.github.tachiyomiorg:unifile:7c257e1c64"
|
unifile = "com.github.tachiyomiorg:unifile:7c257e1c64"
|
||||||
common-compress = "org.apache.commons:commons-compress:1.25.0"
|
common-compress = "org.apache.commons:commons-compress:1.25.0"
|
||||||
junrar = "com.github.junrar:junrar:7.5.5"
|
junrar = "com.github.junrar:junrar:7.5.5"
|
||||||
common-compress = "org.apache.commons:commons-compress:1.25.0"
|
|
||||||
xz = "org.tukaani:xz:1.9"
|
xz = "org.tukaani:xz:1.9"
|
||||||
|
|
||||||
sqlite-framework = { module = "androidx.sqlite:sqlite-framework", version.ref = "sqlite" }
|
sqlite-framework = { module = "androidx.sqlite:sqlite-framework", version.ref = "sqlite" }
|
||||||
|
Reference in New Issue
Block a user