Skip to content

Commit f191664

Browse files
committed
handle root file/folder moving too
1 parent fa268f1 commit f191664

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
197197
val source = if (firstFile.isDirectory) firstFile.path else firstFile.getParentPath()
198198
FilePickerDialog(activity, source, false, activity.config.shouldShowHidden, true) {
199199
if (activity.isPathOnRoot(it) || activity.isPathOnRoot(firstFile.path)) {
200-
copyRootItems(files, it)
200+
copyMoveRootItems(files, it, isCopyOperation)
201201
} else {
202202
activity.copyMoveFilesTo(files, source, it, isCopyOperation, false, activity.config.shouldShowHidden) {
203203
listener?.refreshItems()
@@ -207,11 +207,11 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
207207
}
208208
}
209209

210-
private fun copyRootItems(files: ArrayList<FileDirItem>, destinationPath: String) {
210+
private fun copyMoveRootItems(files: ArrayList<FileDirItem>, destinationPath: String, isCopyOperation: Boolean) {
211211
activity.toast(R.string.copying)
212212
Thread {
213213
val fileCnt = files.size
214-
RootHelpers(activity).copyFiles(files, destinationPath) {
214+
RootHelpers(activity).copyMoveFiles(files, destinationPath, isCopyOperation) {
215215
when (it) {
216216
fileCnt -> activity.toast(R.string.copying_success)
217217
0 -> activity.toast(R.string.copy_failed)

app/src/main/kotlin/com/simplemobiletools/filemanager/helpers/RootHelpers.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,14 @@ class RootHelpers(val activity: Activity) {
255255
}
256256
}
257257

258-
fun copyFiles(fileDirItems: ArrayList<FileDirItem>, destination: String, successes: Int = 0, callback: (Int) -> Unit) {
258+
fun copyMoveFiles(fileDirItems: ArrayList<FileDirItem>, destination: String, isCopyOperation: Boolean, successes: Int = 0, callback: (Int) -> Unit) {
259259
val fileDirItem = fileDirItems.first()
260-
val mainCommand = if (fileDirItem.isDirectory) "cp -R" else "cp"
260+
val mainCommand = if (isCopyOperation) {
261+
if (fileDirItem.isDirectory) "cp -R" else "cp"
262+
} else {
263+
"mv"
264+
}
265+
261266
val cmd = "$mainCommand \"${fileDirItem.path}\" \"$destination\""
262267
val command = object : Command(0, cmd) {
263268
override fun commandCompleted(id: Int, exitcode: Int) {
@@ -266,7 +271,7 @@ class RootHelpers(val activity: Activity) {
266271
callback(newSuccesses)
267272
} else {
268273
fileDirItems.removeAt(0)
269-
copyFiles(fileDirItems, destination, newSuccesses, callback)
274+
copyMoveFiles(fileDirItems, destination, isCopyOperation, newSuccesses, callback)
270275
}
271276
super.commandCompleted(id, exitcode)
272277
}

0 commit comments

Comments
 (0)