mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-29 12:37:50 +02:00
Use UniFile for local source file handling
This commit is contained in:
@ -1,12 +1,12 @@
|
||||
package tachiyomi.source.local.image
|
||||
|
||||
import com.hippo.unifile.UniFile
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import java.io.File
|
||||
import java.io.InputStream
|
||||
|
||||
expect class LocalCoverManager {
|
||||
|
||||
fun find(mangaUrl: String): File?
|
||||
fun find(mangaUrl: String): UniFile?
|
||||
|
||||
fun update(manga: SManga, inputStream: InputStream): File?
|
||||
fun update(manga: SManga, inputStream: InputStream): UniFile?
|
||||
}
|
||||
|
@ -1,12 +1,13 @@
|
||||
package tachiyomi.source.local.io
|
||||
|
||||
import java.io.File
|
||||
import com.hippo.unifile.UniFile
|
||||
import tachiyomi.core.storage.extension
|
||||
|
||||
object Archive {
|
||||
|
||||
private val SUPPORTED_ARCHIVE_TYPES = listOf("zip", "cbz", "rar", "cbr", "epub")
|
||||
|
||||
fun isSupported(file: File): Boolean = with(file) {
|
||||
return extension.lowercase() in SUPPORTED_ARCHIVE_TYPES
|
||||
fun isSupported(file: UniFile): Boolean {
|
||||
return file.extension in SUPPORTED_ARCHIVE_TYPES
|
||||
}
|
||||
}
|
||||
|
@ -1,18 +1,19 @@
|
||||
package tachiyomi.source.local.io
|
||||
|
||||
import java.io.File
|
||||
import com.hippo.unifile.UniFile
|
||||
import tachiyomi.core.storage.extension
|
||||
|
||||
sealed interface Format {
|
||||
data class Directory(val file: File) : Format
|
||||
data class Zip(val file: File) : Format
|
||||
data class Rar(val file: File) : Format
|
||||
data class Epub(val file: File) : Format
|
||||
data class Directory(val file: UniFile) : Format
|
||||
data class Zip(val file: UniFile) : Format
|
||||
data class Rar(val file: UniFile) : Format
|
||||
data class Epub(val file: UniFile) : Format
|
||||
|
||||
class UnknownFormatException : Exception()
|
||||
|
||||
companion object {
|
||||
|
||||
fun valueOf(file: File) = with(file) {
|
||||
fun valueOf(file: UniFile) = with(file) {
|
||||
when {
|
||||
isDirectory -> Directory(this)
|
||||
extension.equals("zip", true) || extension.equals("cbz", true) -> Zip(this)
|
||||
|
@ -1,14 +1,14 @@
|
||||
package tachiyomi.source.local.io
|
||||
|
||||
import java.io.File
|
||||
import com.hippo.unifile.UniFile
|
||||
|
||||
expect class LocalSourceFileSystem {
|
||||
|
||||
fun getBaseDirectory(): File
|
||||
fun getBaseDirectory(): UniFile?
|
||||
|
||||
fun getFilesInBaseDirectory(): List<File>
|
||||
fun getFilesInBaseDirectory(): List<UniFile>
|
||||
|
||||
fun getMangaDirectory(name: String): File?
|
||||
fun getMangaDirectory(name: String): UniFile?
|
||||
|
||||
fun getFilesInMangaDirectory(name: String): List<File>
|
||||
fun getFilesInMangaDirectory(name: String): List<UniFile>
|
||||
}
|
||||
|
Reference in New Issue
Block a user