@@ -8,14 +8,12 @@ import android.os.Build
88import android.provider.DocumentsContract
99import android.util.Base64
1010import androidx.annotation.RequiresApi
11- import androidx.annotation.RestrictTo
1211import androidx.documentfile.provider.DocumentFile
1312import io.lakscastro.sharedstorage.plugin.API_19
1413import io.lakscastro.sharedstorage.plugin.API_21
1514import io.lakscastro.sharedstorage.plugin.API_24
1615import java.io.ByteArrayOutputStream
1716import java.io.Closeable
18- import java.io.File
1917
2018/* *
2119 * Helper class to make more easy to handle callbacks using Kotlin syntax
@@ -174,12 +172,17 @@ fun traverseDirectoryEntries(
174172 while (dirNodes.isNotEmpty()) {
175173 val (parent, children) = dirNodes.removeAt(0 )
176174
177- val requiredColumns = if (rootOnly) emptyArray() else arrayOf(
178- DocumentsContract .Document .COLUMN_MIME_TYPE ,
179- DocumentsContract .Document .COLUMN_DOCUMENT_ID
180- )
175+ val requiredColumns =
176+ if (rootOnly) emptyArray() else arrayOf(DocumentsContract .Document .COLUMN_MIME_TYPE )
177+
178+ val intrinsicColumns =
179+ arrayOf(DocumentsContract .Document .COLUMN_DOCUMENT_ID )
181180
182- val projection = arrayOf(* columns, * requiredColumns).toSet().toTypedArray()
181+ val projection = arrayOf(
182+ * columns,
183+ * requiredColumns,
184+ * intrinsicColumns
185+ ).toSet().toTypedArray()
183186
184187 val cursor = contentResolver.query(
185188 children,
@@ -220,7 +223,7 @@ fun traverseDirectoryEntries(
220223 )
221224 )
222225
223- if (isDirectory != null && isDirectory && ! rootOnly) {
226+ if (isDirectory == true && ! rootOnly) {
224227 val nextChildren =
225228 DocumentsContract .buildChildDocumentsUriUsingTree(rootUri, id)
226229
0 commit comments