diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebDownload.kt b/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebDownload.kt index 1db820a684b6a557547796b29e28a1517c026bd7..e4e04b04e68aeab001b837c10b667126859fe370 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebDownload.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebDownload.kt @@ -162,17 +162,20 @@ class DocumentWebDownloader(private val handlingFragment: Fragment, private val if (filePathCallback == null) return if (resultCode == Activity.RESULT_OK) { - if (data?.data != null) { - // ファイル選択の結果 - val result = WebChromeClient.FileChooserParams.parseResult(resultCode, data) - filePathCallback?.onReceiveValue(result) + val uris: Array? = if (data?.clipData != null) { + // 複数ファイルが選択された場合 + val clipData = data.clipData!! + Array(clipData.itemCount) { i -> clipData.getItemAt(i).uri } + } else if (data?.data != null) { + // 単一ファイルが選択された場合 + arrayOf(data.data!!) } else if (currentPhotoPath != null) { // カメラ撮影の結果 - val uri = Uri.fromFile(File(currentPhotoPath!!)) - filePathCallback?.onReceiveValue(arrayOf(uri)) + arrayOf(Uri.fromFile(File(currentPhotoPath!!))) } else { - filePathCallback?.onReceiveValue(null) + null } + filePathCallback?.onReceiveValue(uris) } else { filePathCallback?.onReceiveValue(null) }