aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/utils/FileUtils.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2015-02-13 18:53:13 +0100
committerBananeweizen <bananeweizen@gmx.de>2015-02-13 18:53:13 +0100
commit1712dd52cb8a47d24265d0ba33ad2fda7e87657f (patch)
treeceb6ee0f913d6a4b8a4bf2d78104f0cea71ddd3b /main/src/cgeo/geocaching/utils/FileUtils.java
parentbfcefc77a7f245143f3a007d3fd92ec4ef625df1 (diff)
parent99a29dff4e97448ee4b52de8c00001873c0c4b4b (diff)
downloadcgeo-1712dd52cb8a47d24265d0ba33ad2fda7e87657f.zip
cgeo-1712dd52cb8a47d24265d0ba33ad2fda7e87657f.tar.gz
cgeo-1712dd52cb8a47d24265d0ba33ad2fda7e87657f.tar.bz2
Merge branch 'release'
Conflicts: main/src/cgeo/geocaching/utils/FileUtils.java
Diffstat (limited to 'main/src/cgeo/geocaching/utils/FileUtils.java')
-rw-r--r--main/src/cgeo/geocaching/utils/FileUtils.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/utils/FileUtils.java b/main/src/cgeo/geocaching/utils/FileUtils.java
index 8846345..778b9c7 100644
--- a/main/src/cgeo/geocaching/utils/FileUtils.java
+++ b/main/src/cgeo/geocaching/utils/FileUtils.java
@@ -24,6 +24,7 @@ import java.util.List;
*/
public final class FileUtils {
+ private static final int MAX_DIRECTORY_SCAN_DEPTH = 30;
private static final String FILE_PROTOCOL = "file://";
private FileUtils() {
@@ -31,7 +32,10 @@ public final class FileUtils {
}
public static void listDir(final List<File> result, final File directory, final FileSelector chooser, final Handler feedBackHandler) {
+ listDirInternally(result, directory, chooser, feedBackHandler, 0);
+ }
+ private static void listDirInternally(final List<File> result, final File directory, final FileSelector chooser, final Handler feedBackHandler, final int depths) {
if (directory == null || !directory.isDirectory() || !directory.canRead()
|| result == null
|| chooser == null) {
@@ -64,7 +68,9 @@ public final class FileUtils {
feedBackHandler.sendMessage(Message.obtain(feedBackHandler, 0, name));
}
- listDir(result, file, chooser, feedBackHandler); // go deeper
+ if (depths < MAX_DIRECTORY_SCAN_DEPTH) {
+ listDirInternally(result, file, chooser, feedBackHandler, depths + 1); // go deeper
+ }
}
}
}
@@ -198,7 +204,7 @@ public final class FileUtils {
/**
* Local file name when {@link #isFileUrl(String)} is <tt>true</tt>.
- *
+ *
* @return the local file
*/
public static File urlToFile(final String url) {