diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2015-02-11 19:01:48 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2015-02-11 19:01:48 +0100 |
| commit | eac13a5843d2e46d62b1c72aee0916aeb3030b3a (patch) | |
| tree | d15253beff8f79e9aea12e44d6e620f70ed9c099 /main/src | |
| parent | 7ec2b8696f4dac0fc27075bfb0aa5846baa87168 (diff) | |
| download | cgeo-eac13a5843d2e46d62b1c72aee0916aeb3030b3a.zip cgeo-eac13a5843d2e46d62b1c72aee0916aeb3030b3a.tar.gz cgeo-eac13a5843d2e46d62b1c72aee0916aeb3030b3a.tar.bz2 | |
Move deleteDirectory to FileUtils
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/DataStore.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/LocalStorage.java | 18 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/FileUtils.java | 27 |
3 files changed, 26 insertions, 25 deletions
diff --git a/main/src/cgeo/geocaching/DataStore.java b/main/src/cgeo/geocaching/DataStore.java index ff120dd..b7ca577 100644 --- a/main/src/cgeo/geocaching/DataStore.java +++ b/main/src/cgeo/geocaching/DataStore.java @@ -905,7 +905,7 @@ public class DataStore { public void call() { for (final File dir : toRemove) { Log.i("Removing obsolete cache directory for " + dir.getName()); - LocalStorage.deleteDirectory(dir); + FileUtils.deleteDirectory(dir); } } }); @@ -2356,7 +2356,7 @@ public class DataStore { database.delete(dbTableLogImages, "log_id NOT IN (SELECT _id FROM " + dbTableLogs + ")", null); // Remove the obsolete "_others" directory where the user avatar used to be stored. - LocalStorage.deleteDirectory(LocalStorage.getStorageDir("_others")); + FileUtils.deleteDirectory(LocalStorage.getStorageDir("_others")); if (version > -1) { Settings.setVersion(version); @@ -2452,7 +2452,7 @@ public class DataStore { // Delete cache directories for (final String geocode : geocodes) { - LocalStorage.deleteDirectory(LocalStorage.getStorageDir(geocode)); + FileUtils.deleteDirectory(LocalStorage.getStorageDir(geocode)); } } } diff --git a/main/src/cgeo/geocaching/files/LocalStorage.java b/main/src/cgeo/geocaching/files/LocalStorage.java index 7fce27d..cfeac9a 100644 --- a/main/src/cgeo/geocaching/files/LocalStorage.java +++ b/main/src/cgeo/geocaching/files/LocalStorage.java @@ -364,24 +364,6 @@ public final class LocalStorage { return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); } - public static boolean deleteDirectory(@NonNull final File dir) { - final File[] files = dir.listFiles(); - - // Although we are called on an existing directory, it might have been removed concurrently - // in the meantime, for example by the user or by another cleanup task. - if (files != null) { - for (final File file : files) { - if (file.isDirectory()) { - deleteDirectory(file); - } else { - FileUtils.delete(file); - } - } - } - - return FileUtils.delete(dir); - } - /** * Deletes all files from directory geocode with the given prefix. * diff --git a/main/src/cgeo/geocaching/utils/FileUtils.java b/main/src/cgeo/geocaching/utils/FileUtils.java index 0875308..8846345 100644 --- a/main/src/cgeo/geocaching/utils/FileUtils.java +++ b/main/src/cgeo/geocaching/utils/FileUtils.java @@ -4,6 +4,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.CharEncoding; import org.apache.commons.lang3.StringUtils; +import org.eclipse.jdt.annotation.NonNull; import android.os.Handler; import android.os.Message; @@ -29,7 +30,7 @@ public final class FileUtils { // utility class } - public static void listDir(List<File> result, File directory, FileSelector chooser, Handler feedBackHandler) { + public static void listDir(final List<File> result, final File directory, final FileSelector chooser, final Handler feedBackHandler) { if (directory == null || !directory.isDirectory() || !directory.canRead() || result == null @@ -40,7 +41,7 @@ public final class FileUtils { final File[] files = directory.listFiles(); if (ArrayUtils.isNotEmpty(files)) { - for (File file : files) { + for (final File file : files) { if (chooser.shouldEnd()) { return; } @@ -69,6 +70,24 @@ public final class FileUtils { } } + public static boolean deleteDirectory(@NonNull final File dir) { + final File[] files = dir.listFiles(); + + // Although we are called on an existing directory, it might have been removed concurrently + // in the meantime, for example by the user or by another cleanup task. + if (files != null) { + for (final File file : files) { + if (file.isDirectory()) { + deleteDirectory(file); + } else { + delete(file); + } + } + } + + return delete(dir); + } + public static abstract class FileSelector { public abstract boolean isSelected(File file); @@ -131,7 +150,7 @@ public final class FileUtils { * @return <code>true</code> if the directory was created, <code>false</code> on failure or if the directory already * existed. */ - public static boolean mkdirs(File file) { + public static boolean mkdirs(final File file) { final boolean success = file.mkdirs() || file.isDirectory(); // mkdirs returns false on existing directories if (!success) { Log.e("Could not make directories " + file.getAbsolutePath()); @@ -139,7 +158,7 @@ public final class FileUtils { return success; } - public static boolean writeFileUTF16(File file, String content) { + public static boolean writeFileUTF16(final File file, final String content) { // TODO: replace by some apache.commons IOUtils or FileUtils code Writer fileWriter = null; BufferedOutputStream buffer = null; |
