mirror of
https://github.com/mihonapp/mihon.git
synced 2025-10-25 20:40:41 +02:00
Merge remote branch abdallahmehiz/tachiyomi:7zip
This commit is contained in:
@@ -32,6 +32,7 @@ dependencies {
|
||||
implementation(libs.image.decoder)
|
||||
|
||||
implementation(libs.unifile)
|
||||
implementation(libs.bundles.sevenzip)
|
||||
|
||||
api(kotlinx.coroutines.core)
|
||||
api(kotlinx.serialization.json)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package eu.kanade.tachiyomi.util.storage
|
||||
|
||||
import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder
|
||||
import org.apache.commons.compress.archivers.sevenz.SevenZFile
|
||||
import tachiyomi.core.util.system.ImageUtil
|
||||
import java.io.InputStream
|
||||
|
||||
object SevenZUtil {
|
||||
fun SevenZFile.getImages(): Sequence<ByteArray> {
|
||||
return generateSequence { runCatching { getNextEntry() }.getOrNull() }
|
||||
.filter { !it.isDirectory && ImageUtil.isImage(it.name) { getInputStream(it) } }
|
||||
.sortedWith { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) }
|
||||
.map(::getInputStream)
|
||||
.map { it.use(InputStream::readBytes) } // ByteArray
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user