This commit is contained in:
Koitharu
2024-01-16 15:17:59 +02:00
parent 5e79809326
commit 61b5b8aa73
3 changed files with 10 additions and 2 deletions

View File

@@ -47,7 +47,7 @@ class SingleMangaImporter @Inject constructor(
val contentResolver = storageManager.contentResolver
val name = contentResolver.resolveName(uri) ?: throw IOException("Cannot fetch name from uri: $uri")
if (!hasCbzExtension(name)) {
throw UnsupportedFileException("Unsupported file on $uri")
throw UnsupportedFileException("Unsupported file $name on $uri")
}
val dest = File(getOutputDir(), name)
runInterruptible {

View File

@@ -13,9 +13,14 @@ import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.core.ui.AlertDialogFragment
import org.koitharu.kotatsu.core.util.ext.tryLaunch
import org.koitharu.kotatsu.databinding.DialogImportBinding
import org.koitharu.kotatsu.local.data.LocalStorageManager
import javax.inject.Inject
class ImportDialogFragment : AlertDialogFragment<DialogImportBinding>(), View.OnClickListener {
@Inject
lateinit var storageManager: LocalStorageManager
private val importFileCall = registerForActivityResult(ActivityResultContracts.OpenMultipleDocuments()) {
startImport(it)
}
@@ -55,6 +60,9 @@ class ImportDialogFragment : AlertDialogFragment<DialogImportBinding>(), View.On
if (uris.isEmpty()) {
return
}
uris.forEach {
storageManager.takePermissions(it)
}
val ctx = requireContext()
ImportWorker.start(ctx, uris)
Toast.makeText(ctx, R.string.import_will_start_soon, Toast.LENGTH_LONG).show()

View File

@@ -201,7 +201,7 @@ class PageLoader @Inject constructor(
private suspend fun loadPageImpl(page: MangaPage, progress: MutableStateFlow<Float>): Uri = semaphore.withPermit {
val pageUrl = getPageUrl(page)
check(pageUrl.isNotBlank()) { "Cannot obtain full image url" }
check(pageUrl.isNotBlank()) { "Cannot obtain full image url for $page" }
val uri = Uri.parse(pageUrl)
return if (uri.isZipUri()) {
if (uri.scheme == URI_SCHEME_ZIP) {