diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-11-30 00:20:24 +0100 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-11-30 00:20:24 +0100 |
commit | dd7d530c964e756b8fd1ec6927d0e5deb49dff9a (patch) | |
tree | 872bbe1570d27db96d7d7a22f00c5de9485a7ad4 | |
parent | 74db65c2e849fa8dd5d0bb61adf43bb1dec51ac0 (diff) | |
download | android_packages_apps_CMFileManager-dd7d530c964e756b8fd1ec6927d0e5deb49dff9a.tar.gz android_packages_apps_CMFileManager-dd7d530c964e756b8fd1ec6927d0e5deb49dff9a.tar.bz2 android_packages_apps_CMFileManager-dd7d530c964e756b8fd1ec6927d0e5deb49dff9a.zip |
CMFM: Fix move infinite loop
Change-Id: I5a4f3ae0844506a08819d355b840637b5374f0f2
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.java | 10 |
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); } |