From f19166491e184ee69c683e893efd3fb72e7254a6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 17 Apr 2018 15:16:01 +0200 Subject: [PATCH] handle root file/folder moving too --- .../filemanager/adapters/ItemsAdapter.kt | 6 +++--- .../filemanager/helpers/RootHelpers.kt | 11 ++++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) 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 35395990..d54105e8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -197,7 +197,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList, destinationPath: String) { + private fun copyMoveRootItems(files: ArrayList, destinationPath: String, isCopyOperation: Boolean) { activity.toast(R.string.copying) Thread { val fileCnt = files.size - RootHelpers(activity).copyFiles(files, destinationPath) { + RootHelpers(activity).copyMoveFiles(files, destinationPath, isCopyOperation) { when (it) { fileCnt -> activity.toast(R.string.copying_success) 0 -> activity.toast(R.string.copy_failed) 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 78af5e54..09dfecbd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt @@ -255,9 +255,14 @@ class RootHelpers(val activity: Activity) { } } - fun copyFiles(fileDirItems: ArrayList, destination: String, successes: Int = 0, callback: (Int) -> Unit) { + fun copyMoveFiles(fileDirItems: ArrayList, destination: String, isCopyOperation: Boolean, successes: Int = 0, callback: (Int) -> Unit) { val fileDirItem = fileDirItems.first() - val mainCommand = if (fileDirItem.isDirectory) "cp -R" else "cp" + val mainCommand = if (isCopyOperation) { + if (fileDirItem.isDirectory) "cp -R" else "cp" + } else { + "mv" + } + val cmd = "$mainCommand \"${fileDirItem.path}\" \"$destination\"" val command = object : Command(0, cmd) { override fun commandCompleted(id: Int, exitcode: Int) { @@ -266,7 +271,7 @@ class RootHelpers(val activity: Activity) { callback(newSuccesses) } else { fileDirItems.removeAt(0) - copyFiles(fileDirItems, destination, newSuccesses, callback) + copyMoveFiles(fileDirItems, destination, isCopyOperation, newSuccesses, callback) } super.commandCompleted(id, exitcode) }