diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2011-09-14 09:48:46 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2011-09-14 09:48:46 +0200 |
| commit | 7a5679bf34f544f15d9ab0095b782c9a1917f1d6 (patch) | |
| tree | e33fbb20abd2e1c2a7a916a5d0650d17b6bc8945 /src/cgeo | |
| parent | 14a5c2d8ed6a762c080affd98110a4372086c2f9 (diff) | |
| download | cgeo-7a5679bf34f544f15d9ab0095b782c9a1917f1d6.zip cgeo-7a5679bf34f544f15d9ab0095b782c9a1917f1d6.tar.gz cgeo-7a5679bf34f544f15d9ab0095b782c9a1917f1d6.tar.bz2 | |
Factor code to read coordinates from database row
Diffstat (limited to 'src/cgeo')
| -rw-r--r-- | src/cgeo/geocaching/cgData.java | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/cgeo/geocaching/cgData.java b/src/cgeo/geocaching/cgData.java index cd19695..6d44841 100644 --- a/src/cgeo/geocaching/cgData.java +++ b/src/cgeo/geocaching/cgData.java @@ -1398,6 +1398,22 @@ public class cgData { values.put("longitude", coords == null ? null : coords.getLongitude()); } + /** + * Retrieve coordinates from a Cursor + * + * @param cursor a Cursor representing a row in the database + * @return the coordinates, or null if latitude or longitude is null + */ + private static Geopoint getCoords(final Cursor cursor) { + final int indexLat = cursor.getColumnIndex("latitude"); + final int indexLon = cursor.getColumnIndex("longitude"); + if (cursor.isNull(indexLat) || cursor.isNull(indexLon)) { + return null; + } else { + return new Geopoint(cursor.getDouble(indexLat), cursor.getDouble(indexLon)); + } + } + public boolean saveOwnWaypoint(int id, String geocode, cgWaypoint waypoint) { init(); @@ -1985,13 +2001,7 @@ public class cgData { cache.latitudeString = (String) cursor.getString(cursor.getColumnIndex("latitude_string")); cache.longitudeString = (String) cursor.getString(cursor.getColumnIndex("longitude_string")); cache.location = (String) cursor.getString(cursor.getColumnIndex("location")); - final int indexLat = cursor.getColumnIndex("latitude"); - final int indexLon = cursor.getColumnIndex("longitude"); - if (cursor.isNull(indexLat) || cursor.isNull(indexLon)) { - cache.coords = null; - } else { - cache.coords = new Geopoint(cursor.getDouble(indexLat), cursor.getDouble(indexLon)); - } + cache.coords = getCoords(cursor); index = cursor.getColumnIndex("elevation"); if (cursor.isNull(index)) { cache.elevation = null; @@ -2131,13 +2141,7 @@ public class cgData { waypoint.latlon = (String) cursor.getString(cursor.getColumnIndex("latlon")); waypoint.latitudeString = (String) cursor.getString(cursor.getColumnIndex("latitude_string")); waypoint.longitudeString = (String) cursor.getString(cursor.getColumnIndex("longitude_string")); - final int indexLat = cursor.getColumnIndex("latitude"); - final int indexLon = cursor.getColumnIndex("longitude"); - if (cursor.isNull(indexLat) || cursor.isNull(indexLon)) { - waypoint.coords = null; - } else { - waypoint.coords = new Geopoint(cursor.getDouble(indexLat), cursor.getDouble(indexLon)); - } + waypoint.coords = getCoords(cursor); waypoint.note = (String) cursor.getString(cursor.getColumnIndex("note")); return waypoint; |
