@@ -3,6 +3,7 @@ package com.simplemobiletools.filemanager.dialogs
33import android.support.v4.util.Pair
44import android.support.v7.app.AlertDialog
55import com.simplemobiletools.commons.asynctasks.CopyMoveTask
6+ import com.simplemobiletools.commons.dialogs.FilePickerDialog
67import com.simplemobiletools.commons.extensions.*
78import com.simplemobiletools.filemanager.R
89import com.simplemobiletools.filemanager.activities.SimpleActivity
@@ -18,20 +19,14 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
1819 val view = activity.layoutInflater.inflate(R .layout.dialog_copy_item, null )
1920 val sourcePath = files[0 ].parent.trimEnd(' /' )
2021 var destinationPath = " "
21- view.source.text = " ${context.humanizePath(sourcePath)} /"
2222
2323 val config = context.config
24- /* view.destination.setOnClickListener {
25- FilePickerDialog(activity, destinationPath, false, config.showHidden, object : FilePickerDialog.OnFilePickerListener {
26- override fun onFail(error: FilePickerDialog.FilePickerResult) {
27- }
28-
29- override fun onSuccess(pickedPath: String) {
30- destinationPath = pickedPath
31- view.destination.text = context.humanizePath(pickedPath)
32- }
33- })
34- }*/
24+ view.destination.setOnClickListener {
25+ FilePickerDialog (activity, sourcePath, false , config.showHidden, true ) {
26+ destinationPath = it
27+ view.destination.text = context.humanizePath(it)
28+ }
29+ }
3530
3631 AlertDialog .Builder (context)
3732 .setPositiveButton(R .string.ok, null )
@@ -44,7 +39,7 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
4439 return @setOnClickListener
4540 }
4641
47- if (view.source.text.trimEnd( ' / ' ) == destinationPath.trimEnd(' /' )) {
42+ if (sourcePath == destinationPath.trimEnd(' /' )) {
4843 context.toast(R .string.source_and_destination_same)
4944 return @setOnClickListener
5045 }
@@ -56,8 +51,7 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
5651 }
5752
5853 if (files.size == 1 ) {
59- val newFile = File (files[0 ].path)
60- if (File (destinationPath, newFile.name).exists()) {
54+ if (File (destinationPath, files[0 ].name).exists()) {
6155 context.toast(R .string.name_taken)
6256 return @setOnClickListener
6357 }
@@ -74,6 +68,10 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
7468 dismiss()
7569 } else {
7670 if (context.isPathOnSD(sourcePath) || context.isPathOnSD(destinationPath)) {
71+ if (activity.isShowingPermDialog(files[0 ])) {
72+ return @setOnClickListener
73+ }
74+
7775 context.toast(R .string.moving)
7876 val pair = Pair <ArrayList <File >, File > (files, destinationDir)
7977 CopyMoveTask (context, true , config.treeUri, false , copyMoveListener).execute(pair)
@@ -89,14 +87,15 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
8987
9088 context.scanFiles(updatedFiles) {
9189 activity.runOnUiThread {
92- context.toast(R .string.moving_success)
93- dismiss()
9490 copyMoveListener.copySucceeded(true , files.size * 2 == updatedFiles.size)
91+ dismiss()
9592 }
9693 }
9794 }
9895 }
9996 })
10097 }
98+
99+ view.destination.performClick()
101100 }
102101}
0 commit comments