diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt index 17d376f6..a192fe8e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -134,9 +134,12 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList(selectedItems.size) - selectedItems.mapTo(uris) { Uri.fromFile(File(it.path)) } + selectedItems.forEach { + val file = File(it.path) + addFileUris(file, uris) + } if (uris.isEmpty()) { activity.toast(R.string.no_files_selected) @@ -147,16 +150,26 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList): String { - val firstMimeType = items.first().path.getMimeTypeFromPath() + private fun addFileUris(file: File, uris: ArrayList) { + if (file.isDirectory) { + file.listFiles()?.forEach { + addFileUris(it, uris) + } + } else { + uris.add(Uri.fromFile(file)) + } + } + + private fun getMimeType(uris: List): String { + val firstMimeType = uris.first().path.getMimeTypeFromPath() val firstMimeGroup = firstMimeType.substringBefore("/") - items.forEach { + uris.forEach { val mimeGroup = it.path.getMimeTypeFromPath().substringBefore("/") if (mimeGroup != firstMimeGroup) { return "*/*"