diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-08-18 19:08:39 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-08-18 19:08:39 +0200 |
| commit | cd03c1b91da2b5c8cc7eb4f5617263c6aebcbd21 (patch) | |
| tree | cc37d7e3f9f2805992b320169c0e71cf07f6dc1d /main | |
| parent | e3bad494f541eb574e80e466ed8abaef8bb5d257 (diff) | |
| download | cgeo-cd03c1b91da2b5c8cc7eb4f5617263c6aebcbd21.zip cgeo-cd03c1b91da2b5c8cc7eb4f5617263c6aebcbd21.tar.gz cgeo-cd03c1b91da2b5c8cc7eb4f5617263c6aebcbd21.tar.bz2 | |
refactoring: more findbugs cleanup
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/ImageSelectActivity.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/NavigateAnyPointActivity.java | 24 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgData.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocaches.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCMap.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OkapiClient.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/export/FieldnoteExport.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/export/GpxExport.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/LocalStorage.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/CGeoMap.java | 40 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/FileUtils.java | 14 |
11 files changed, 53 insertions, 51 deletions
diff --git a/main/src/cgeo/geocaching/ImageSelectActivity.java b/main/src/cgeo/geocaching/ImageSelectActivity.java index 52f9a7e..738b9a7 100644 --- a/main/src/cgeo/geocaching/ImageSelectActivity.java +++ b/main/src/cgeo/geocaching/ImageSelectActivity.java @@ -6,6 +6,7 @@ import butterknife.Views; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.settings.Settings; +import cgeo.geocaching.utils.FileUtils; import cgeo.geocaching.utils.ImageUtils; import cgeo.geocaching.utils.Log; @@ -328,8 +329,7 @@ public class ImageSelectActivity extends AbstractActivity { // Create the storage directory if it does not exist if (!mediaStorageDir.exists()) { - if (!mediaStorageDir.mkdirs()) { - Log.w("Failed to create directory"); + if (!FileUtils.mkdirs(mediaStorageDir)) { return null; } } diff --git a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java index b73a154..741414b 100644 --- a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java +++ b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java @@ -490,6 +490,7 @@ public class NavigateAnyPointActivity extends AbstractActivity { return null; } + // get base coordinates Geopoint coords; if (StringUtils.isNotBlank(latText) && StringUtils.isNotBlank(lonText)) { try { @@ -507,8 +508,8 @@ public class NavigateAnyPointActivity extends AbstractActivity { coords = app.currentGeo().getCoords(); } - Geopoint result; - if (StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) { + // apply projection + if (coords != null && StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) { // bearing & distance double bearing; try { @@ -527,23 +528,14 @@ public class NavigateAnyPointActivity extends AbstractActivity { return null; } - final Geopoint coordsDst = coords.project(bearing, distance); - - if (coordsDst == null) { - showToast(res.getString(R.string.err_point_location_error)); - return null; - } - - result = coordsDst; - } else if (coords != null) { - result = coords; - } else { - return null; + coords = coords.project(bearing, distance); } - saveCoords(result); + if (coords != null) { + saveCoords(coords); + } - return result; + return coords; } private void saveCoords(final Geopoint coords) { diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java index fb8908f..9d636f9 100644 --- a/main/src/cgeo/geocaching/cgData.java +++ b/main/src/cgeo/geocaching/cgData.java @@ -407,7 +407,7 @@ public class cgData { public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory) { final File file = new File(name); - file.getParentFile().mkdirs(); + FileUtils.mkdirs(file.getParentFile()); return SQLiteDatabase.openOrCreateDatabase(file, factory); } diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index 5552bcb..304aabe 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -504,7 +504,7 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity // refresh standard list if it has changed (new caches downloaded) if (type == CacheListType.OFFLINE && listId >= StoredList.STANDARD_LIST_ID && search != null) { final SearchResult newSearch = cgData.getBatchOfStoredCaches(coords, Settings.getCacheType(), listId); - if (newSearch != null && newSearch.getTotal() != search.getTotal()) { + if (newSearch.getTotal() != search.getTotal()) { refreshCurrentList(); } } diff --git a/main/src/cgeo/geocaching/connector/gc/GCMap.java b/main/src/cgeo/geocaching/connector/gc/GCMap.java index 85873af..4fdde56 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCMap.java +++ b/main/src/cgeo/geocaching/connector/gc/GCMap.java @@ -340,7 +340,7 @@ public class GCMap { Log.w("GCMap.searchByViewport: No data from server for tile (" + tile.getX() + "/" + tile.getY() + ")"); } else { final SearchResult search = GCMap.parseMapJSON(data, tile, bitmap, strategy); - if (search == null || CollectionUtils.isEmpty(search.getGeocodes())) { + if (CollectionUtils.isEmpty(search.getGeocodes())) { Log.e("GCMap.searchByViewport: No cache parsed for viewport " + viewport); } else { diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java index 6959adf..ae3af05 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java @@ -246,9 +246,7 @@ final class OkapiClient { while (keys.hasNext()) { final String key = keys.next(); final Geocache cache = parseSmallCache(cachesResponse.getJSONObject(key)); - if (cache != null) { - caches.add(cache); - } + caches.add(cache); } return caches; } diff --git a/main/src/cgeo/geocaching/export/FieldnoteExport.java b/main/src/cgeo/geocaching/export/FieldnoteExport.java index 9bf4037..d0040a9 100644 --- a/main/src/cgeo/geocaching/export/FieldnoteExport.java +++ b/main/src/cgeo/geocaching/export/FieldnoteExport.java @@ -12,6 +12,7 @@ import cgeo.geocaching.network.Parameters; import cgeo.geocaching.settings.Settings; import cgeo.geocaching.ui.Formatter; import cgeo.geocaching.utils.AsyncTaskWithProgress; +import cgeo.geocaching.utils.FileUtils; import cgeo.geocaching.utils.IOUtils; import cgeo.geocaching.utils.Log; @@ -151,7 +152,7 @@ class FieldnoteExport extends AbstractExport { return false; } - exportLocation.mkdirs(); + FileUtils.mkdirs(exportLocation); final SimpleDateFormat fileNameDateFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.US); exportFile = new File(exportLocation.toString() + '/' + fileNameDateFormat.format(new Date()) + ".txt"); diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java index b7b122e..821a3f6 100644 --- a/main/src/cgeo/geocaching/export/GpxExport.java +++ b/main/src/cgeo/geocaching/export/GpxExport.java @@ -131,7 +131,7 @@ class GpxExport extends AbstractExport { BufferedWriter writer = null; try { final File exportLocation = new File(Settings.getGpxExportDir()); - exportLocation.mkdirs(); + FileUtils.mkdirs(exportLocation); writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(exportFile), CharEncoding.UTF_8)); new GpxSerializer().writeGPX(allGeocodes, writer, new GpxSerializer.ProgressListener() { diff --git a/main/src/cgeo/geocaching/files/LocalStorage.java b/main/src/cgeo/geocaching/files/LocalStorage.java index 7657e1e..57f586e 100644 --- a/main/src/cgeo/geocaching/files/LocalStorage.java +++ b/main/src/cgeo/geocaching/files/LocalStorage.java @@ -167,7 +167,7 @@ public final class LocalStorage { private static File buildFile(final File base, final String fileName, final boolean isUrl, final boolean createDirs) { if (createDirs) { - base.mkdirs(); + FileUtils.mkdirs(base); } return new File(base, isUrl ? CryptUtils.md5(fileName) + getExtension(fileName) : fileName); } @@ -287,7 +287,7 @@ public final class LocalStorage { * @return true if the copy happened without error, false otherwise */ public static boolean copy(final File source, final File destination) { - destination.getParentFile().mkdirs(); + FileUtils.mkdirs(destination.getParentFile()); InputStream input = null; OutputStream output = null; @@ -296,9 +296,10 @@ public final class LocalStorage { output = new BufferedOutputStream(new FileOutputStream(destination)); } catch (FileNotFoundException e) { Log.e("LocalStorage.copy: could not open file", e); + return false; + } finally { IOUtils.closeQuietly(input); IOUtils.closeQuietly(output); - return false; } boolean copyDone = copy(input, output); diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java index d4754aa..0817170 100644 --- a/main/src/cgeo/geocaching/maps/CGeoMap.java +++ b/main/src/cgeo/geocaching/maps/CGeoMap.java @@ -1179,33 +1179,29 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto } searchResult = ConnectorFactory.searchByViewport(viewport.resize(0.8), tokens); - if (searchResult != null) { - downloaded = true; - if (searchResult.getError() == StatusCode.NOT_LOGGED_IN && Settings.isGCConnectorActive()) { - Login.login(); - tokens = null; - } else { - break; - } + downloaded = true; + if (searchResult.getError() == StatusCode.NOT_LOGGED_IN && Settings.isGCConnectorActive()) { + Login.login(); + tokens = null; + } else { + break; } count++; } while (count < 2); - if (searchResult != null) { - Set<Geocache> result = searchResult.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB); - CGeoMap.filter(result); - // update the caches - // first remove filtered out - final Set<String> filteredCodes = searchResult.getFilteredGeocodes(); - Log.d("Filtering out " + filteredCodes.size() + " caches: " + filteredCodes.toString()); - caches.removeAll(cgData.loadCaches(filteredCodes, LoadFlags.LOAD_CACHE_ONLY)); - cgData.removeCaches(filteredCodes, EnumSet.of(RemoveFlag.REMOVE_CACHE)); - // new collection type needs to remove first to refresh - caches.removeAll(result); - caches.addAll(result); - lastSearchResult = searchResult; - } + Set<Geocache> result = searchResult.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB); + CGeoMap.filter(result); + // update the caches + // first remove filtered out + final Set<String> filteredCodes = searchResult.getFilteredGeocodes(); + Log.d("Filtering out " + filteredCodes.size() + " caches: " + filteredCodes.toString()); + caches.removeAll(cgData.loadCaches(filteredCodes, LoadFlags.LOAD_CACHE_ONLY)); + cgData.removeCaches(filteredCodes, EnumSet.of(RemoveFlag.REMOVE_CACHE)); + // new collection type needs to remove first to refresh + caches.removeAll(result); + caches.addAll(result); + lastSearchResult = searchResult; //render displayExecutor.execute(new DisplayRunnable(viewport)); diff --git a/main/src/cgeo/geocaching/utils/FileUtils.java b/main/src/cgeo/geocaching/utils/FileUtils.java index fec2518..edb8102 100644 --- a/main/src/cgeo/geocaching/utils/FileUtils.java +++ b/main/src/cgeo/geocaching/utils/FileUtils.java @@ -111,4 +111,18 @@ public final class FileUtils { } return success; } + + /** + * Creates the directory named by the given file, creating any missing parent directories in the process. + * + * @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) { + final boolean success = file.mkdirs(); + if (!success) { + Log.e("Could not make directories " + file.getAbsolutePath()); + } + return success; + } } |
