diff -r d70a5b0d1190 -r 0481bd74267c project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/Utils.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/Utils.java Sun Aug 12 22:37:57 2012 +0200 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/Utils.java Sun Aug 12 22:46:23 2012 +0200 @@ -54,7 +54,7 @@ * get the path to which we should download all the data files * @param c context * @return The directory - * @throws FileNotFoundException if external storage is not avaliable at the moment + * @throws FileNotFoundException if external storage is not available at the moment */ public static File getCachePath(Context c) throws FileNotFoundException { File cachePath = null; @@ -105,37 +105,19 @@ } /** - * Get files from dirName, dir name is relative to {@link getDownloadPath} - * @param dirName - * @param c context - * @return string of files - */ - public static String[] getFileNamesFromRelativeDir(Context c, String dirName){ - String prefix = getDataPath(c); - File f = new File(prefix + dirName); - - if(f.exists() && f.isDirectory()) return f.list(); - else{ - - Log.e("Utils::", "Couldn't find dir: " + dirName); - return new String[0]; - } - } - - /** * Return a File array with all the files from dirName * @param c * @param dirName * @return + * @throws FileNotFoundException If the sdcard is not available or the subdirectory "dirName" does not exist */ - public static File[] getFilesFromRelativeDir(Context c, String dirName){ - String prefix = getDataPath(c); - File f = new File(prefix + dirName); + public static File[] getFilesFromRelativeDir(Context c, String dirName) throws FileNotFoundException { + File f = new File(getDataPathFile(c), dirName); - if(f.exists() && f.isDirectory()) return f.listFiles(); - else { - Log.e("Utils::", "Dir not found: " + dirName); - return new File[0]; + if(f.isDirectory()) { + return f.listFiles(); + } else { + throw new FileNotFoundException("Directory "+dirName+" does not exist."); } } @@ -161,8 +143,9 @@ * @param path * @param fileSuffix * @return + * @throws FileNotFoundException If the sdcard is not available or the subdirectory "path" does not exist */ - public static List getDirsWithFileSuffix(Context c, String path, String fileSuffix){ + public static List getDirsWithFileSuffix(Context c, String path, String fileSuffix) throws FileNotFoundException{ File[] files = getFilesFromRelativeDir(c,path); ArrayList ret = new ArrayList(); @@ -174,16 +157,13 @@ /** * Get all files from directory dir which have the given suffix - * @param c - * @param dir - * @param suffix - * @param removeSuffix - * @return + * @throws FileNotFoundException If the sdcard is not available or the subdirectory "dir" does not exist */ - public static ArrayList getFilesFromDirWithSuffix(Context c, String dir, String suffix, boolean removeSuffix){ - String[] files = Utils.getFileNamesFromRelativeDir(c, dir); + public static ArrayList getFileNamesFromDirWithSuffix(Context c, String dir, String suffix, boolean removeSuffix) throws FileNotFoundException{ + File[] files = Utils.getFilesFromRelativeDir(c, dir); ArrayList ret = new ArrayList(); - for(String s : files){ + for(File file : files){ + String s = file.getName(); if(s.endsWith(suffix)){ if(removeSuffix) ret.add(s.substring(0, s.length()-suffix.length())); else ret.add(s);