diff options
Diffstat (limited to 'main/src/cgeo/geocaching/files/LocalStorage.java')
| -rw-r--r-- | main/src/cgeo/geocaching/files/LocalStorage.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/main/src/cgeo/geocaching/files/LocalStorage.java b/main/src/cgeo/geocaching/files/LocalStorage.java index d10f12b..7657e1e 100644 --- a/main/src/cgeo/geocaching/files/LocalStorage.java +++ b/main/src/cgeo/geocaching/files/LocalStorage.java @@ -2,6 +2,7 @@ package cgeo.geocaching.files; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.utils.CryptUtils; +import cgeo.geocaching.utils.FileUtils; import cgeo.geocaching.utils.IOUtils; import cgeo.geocaching.utils.Log; @@ -32,7 +33,7 @@ import java.util.List; * Handle local storage issues on phone and SD card. * */ -public class LocalStorage { +public final class LocalStorage { public static final String HEADER_LAST_MODIFIED = "last-modified"; public static final String HEADER_ETAG = "etag"; @@ -42,6 +43,10 @@ public class LocalStorage { private static File internalStorageBase; + private LocalStorage() { + // utility class + } + /** * Return the primary storage cache root (external media if mounted, phone otherwise). * @@ -197,7 +202,7 @@ public class LocalStorage { final Header header = response != null ? response.getFirstHeader(name) : null; final File file = filenameForHeader(baseFile, name); if (header == null) { - file.delete(); + FileUtils.deleteIgnoringFailure(file); } else { saveToFile(new ByteArrayInputStream(header.getValue().getBytes()), file); } @@ -259,15 +264,15 @@ public class LocalStorage { final boolean written = copy(inputStream, fos); fos.close(); if (!written) { - targetFile.delete(); + FileUtils.deleteIgnoringFailure(targetFile); } return written; } finally { - inputStream.close(); + IOUtils.closeQuietly(inputStream); } } catch (IOException e) { Log.e("LocalStorage.saveToFile", e); - targetFile.delete(); + FileUtils.deleteIgnoringFailure(targetFile); } return false; } @@ -341,12 +346,12 @@ public class LocalStorage { if (file.isDirectory()) { deleteDirectory(file); } else { - file.delete(); + FileUtils.delete(file); } } } - return path.delete(); + return FileUtils.delete(path); } /** @@ -364,7 +369,7 @@ public class LocalStorage { } for (final File file : filesToDelete) { try { - if (!file.delete()) { + if (!FileUtils.delete(file)) { Log.w("LocalStorage.deleteFilesPrefix: Can't delete file " + file.getName()); } } catch (Exception e) { |
