aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-11-30 00:20:24 +0100
committerJorge Ruesga <jorge@ruesga.com>2013-11-30 00:36:50 +0100
commit71f93d89cbd4088c14900fd9523f9eb6189ffb27 (patch)
tree7fbed9100b27854e970e915ba295e610baa31df0
parente38d9f1fc3e1ffabd31092510262ff83051da023 (diff)
downloadandroid_packages_apps_CMFileManager-71f93d89cbd4088c14900fd9523f9eb6189ffb27.tar.gz
android_packages_apps_CMFileManager-71f93d89cbd4088c14900fd9523f9eb6189ffb27.tar.bz2
android_packages_apps_CMFileManager-71f93d89cbd4088c14900fd9523f9eb6189ffb27.zip
CMFM: Fix move infinite loop
Change-Id: I5cc56e2053df4502673a553fa8e5abb82069569d JIRA: CYAN-2791 Issue: https://jira.cyanogenmod.org/browse/CYAN-2791 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
-rw-r--r--src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java b/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java
index c2923f3e..33e0b985 100644
--- a/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java
+++ b/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java
@@ -349,7 +349,6 @@ public final class CopyMoveActionPolicy extends ActionsPolicy {
* @param dst The destination file
* @param operation Indicates the operation to do
*/
- @SuppressWarnings("hiding")
private void doOperation(
Context ctx, File src, File dst, COPY_MOVE_OPERATION operation)
throws Throwable {
@@ -357,18 +356,23 @@ public final class CopyMoveActionPolicy extends ActionsPolicy {
if (src.compareTo(dst) == 0) return;
try {
+ // Be sure to append a / if source is a folder (otherwise system crashes
+ // under using absolute paths) Issue: CYAN-2791
+ String source = src.getAbsolutePath() +
+ (src.isDirectory() ? File.separator : "");
+
// Copy or move?
if (operation.compareTo(COPY_MOVE_OPERATION.MOVE) == 0 ||
operation.compareTo(COPY_MOVE_OPERATION.RENAME) == 0) {
CommandHelper.move(
ctx,
- src.getAbsolutePath(),
+ source,
dst.getAbsolutePath(),
null);
} else {
CommandHelper.copy(
ctx,
- src.getAbsolutePath(),
+ source,
dst.getAbsolutePath(),
null);
}