From fa268f16f56884e3707f5a48bde887a4b811479c Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 17 Apr 2018 15:09:09 +0200 Subject: [PATCH] optimize root file size fetching in case we sort by size --- .../filemanager/helpers/RootHelpers.kt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt index 5e139c4a..78af5e54 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt @@ -118,12 +118,8 @@ class RootHelpers(val activity: Activity) { private fun getFileSizes(files: ArrayList, path: String, callback: (originalPath: String, fileDirItems: ArrayList) -> Unit) { var cmd = "" - files.forEach { - cmd += if (it.isDirectory) { - "echo 0;" - } else { - "stat -t ${it.path};" - } + files.filter { !it.isDirectory }.forEach { + cmd += "stat -t ${it.path};" } val lines = ArrayList() @@ -134,7 +130,7 @@ class RootHelpers(val activity: Activity) { } override fun commandCompleted(id: Int, exitcode: Int) { - files.forEachIndexed { index, fileDirItem -> + files.filter { !it.isDirectory }.forEachIndexed { index, fileDirItem -> var line = lines[index] if (line.isNotEmpty() && line != "0") { if (line.length >= fileDirItem.path.length) {