diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileSearch.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileSearch.kt index 16df7dae6..e93958567 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileSearch.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileSearch.kt @@ -71,17 +71,8 @@ class FileSearch @Inject constructor(private val context: Context) { private fun directoryRoots() = StorageDeviceUtils.getReadableStorage(context).map(StorageDevice::name) - private fun scanDirectory(directory: String): List = File(directory).listFiles() - ?.fold( - mutableListOf(), { acc, file -> - acc.apply { - if (file.isDirectory) { - addAll(scanDirectory(file.path)) - } else if (file.extension.isAny(*zimFileExtensions)) { - add(file) - } - } - }) ?: emptyList() + private fun scanDirectory(directory: String): List = + File(directory).walk().filter { it.extension.isAny(*zimFileExtensions) }.toList() } internal fun String.isAny(vararg suffixes: String) =