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:36:50 +0100 |
| commit | 71f93d89cbd4088c14900fd9523f9eb6189ffb27 (patch) | |
| tree | 7fbed9100b27854e970e915ba295e610baa31df0 | |
| parent | e38d9f1fc3e1ffabd31092510262ff83051da023 (diff) | |
| download | android_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.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); } |
