aboutsummaryrefslogtreecommitdiff
path: root/src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2012-11-13 01:57:16 +0100
committerJorge Ruesga <jorge@ruesga.com>2012-11-13 01:57:16 +0100
commit32331d73021a9b4a96c973e7f054666da31d653d (patch)
tree884987dcbaf437e54e161206ebfbc1a142dfc857 /src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java
parent79d1b6ebba9af3cc83c627f5aeab6ddb9bd75fe0 (diff)
CMFileManager: Fixes for non-rooted devices
Various fixes for non-rooted devices running under java console: * Improve navigation (caching unsused data on chrooted mode: aids, mountpoints, ...) * Editor: Don't ask user to gain privileges (non rooted devices never can gain privileged access) * Move common file operations to FileHelper * MoveCommand: As shell console, java console doesn't allow to move between filesystems. Use a copy-delete operation when renameTo is not allowed. * On non-rooted devices, not allow to change to other access mode. Change-Id: I7ae8b4f4203fc8a20f498e43f45c0a956731b02e
Diffstat (limited to 'src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java')
-rw-r--r--src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java27
1 files changed, 2 insertions, 25 deletions
diff --git a/src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java b/src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java
index 07e9498..04b8e20 100644
--- a/src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/java/DeleteDirCommand.java
@@ -23,6 +23,7 @@ import com.cyanogenmod.filemanager.console.ExecutionException;
import com.cyanogenmod.filemanager.console.InsufficientPermissionsException;
import com.cyanogenmod.filemanager.console.NoSuchFileOrDirectory;
import com.cyanogenmod.filemanager.model.MountPoint;
+import com.cyanogenmod.filemanager.util.FileHelper;
import com.cyanogenmod.filemanager.util.MountPointHelper;
import java.io.File;
@@ -84,7 +85,7 @@ public class DeleteDirCommand extends Program implements DeleteDirExecutable {
}
// Delete the file
- if (!deleteFolder(f)) {
+ if (!FileHelper.deleteFolder(f)) {
if (isTrace()) {
Log.v(TAG, "Result: FAIL. InsufficientPermissionsException"); //$NON-NLS-1$
}
@@ -111,28 +112,4 @@ public class DeleteDirCommand extends Program implements DeleteDirExecutable {
public MountPoint getDstWritableMountPoint() {
return MountPointHelper.getMountPointFromDirectory(this.mPath);
}
-
- /**
- * Method that deletes a folder recursively
- *
- * @param folder The folder to delete
- * @return boolean If the folder was deleted
- */
- private boolean deleteFolder(File folder) {
- File[] files = folder.listFiles();
- if (files != null) {
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- if (!deleteFolder(files[i])) {
- return false;
- }
- } else {
- if (!files[i].delete()) {
- return false;
- }
- }
- }
- }
- return folder.delete();
- }
}