aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/apps/AbstractLocusApp.java')
-rw-r--r--main/src/cgeo/geocaching/apps/AbstractLocusApp.java38
1 files changed, 23 insertions, 15 deletions
diff --git a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
index baf36a4..dfd148d 100644
--- a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
+++ b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
@@ -8,6 +8,7 @@ import cgeo.geocaching.enumerations.CacheType;
import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.utils.SynchronizedDateFormat;
+import menion.android.locus.LocusDataStorageProvider;
import menion.android.locus.addon.publiclib.DisplayData;
import menion.android.locus.addon.publiclib.LocusUtils;
import menion.android.locus.addon.publiclib.geoData.Point;
@@ -15,6 +16,9 @@ import menion.android.locus.addon.publiclib.geoData.PointGeocachingData;
import menion.android.locus.addon.publiclib.geoData.PointGeocachingDataWaypoint;
import menion.android.locus.addon.publiclib.geoData.PointsData;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
import android.app.Activity;
import android.location.Location;
@@ -31,7 +35,7 @@ import java.util.Locale;
public abstract class AbstractLocusApp extends AbstractApp {
private static final SynchronizedDateFormat ISO8601DATE = new SynchronizedDateFormat("yyyy-MM-dd'T'", Locale.US);
- protected AbstractLocusApp(final String text, int id, final String intent) {
+ protected AbstractLocusApp(@NonNull final String text, final int id, @NonNull final String intent) {
super(text, id, intent);
}
@@ -47,7 +51,6 @@ public abstract class AbstractLocusApp extends AbstractApp {
* which caches/waypoints to show
* @param withCacheWaypoints
* Whether to give waypoints of caches to Locus or not
- * @param activity
*/
protected static boolean showInLocus(final List<?> objectsToShow, final boolean withCacheWaypoints, final boolean export,
final Activity activity) {
@@ -57,7 +60,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
final boolean withCacheDetails = objectsToShow.size() < 200;
final PointsData pd = new PointsData("c:geo");
- for (Object o : objectsToShow) {
+ for (final Object o : objectsToShow) {
Point p = null;
// get icon and Point
if (o instanceof Geocache) {
@@ -90,7 +93,6 @@ public abstract class AbstractLocusApp extends AbstractApp {
/**
* This method constructs a <code>Point</code> for displaying in Locus
*
- * @param cache
* @param withWaypoints
* whether to give waypoints to Locus or not
* @param withCacheDetails
@@ -98,7 +100,8 @@ public abstract class AbstractLocusApp extends AbstractApp {
* should be false for all if more then 200 Caches are transferred
* @return null, when the <code>Point</code> could not be constructed
*/
- private static Point getCachePoint(Geocache cache, boolean withWaypoints, boolean withCacheDetails) {
+ @Nullable
+ private static Point getCachePoint(final Geocache cache, final boolean withWaypoints, final boolean withCacheDetails) {
if (cache == null || cache.getCoords() == null) {
return null;
}
@@ -141,19 +144,24 @@ public abstract class AbstractLocusApp extends AbstractApp {
if (withWaypoints && cache.hasWaypoints()) {
pg.waypoints = new ArrayList<>();
- for (Waypoint waypoint : cache.getWaypoints()) {
- if (waypoint == null || waypoint.getCoords() == null) {
+ for (final Waypoint waypoint : cache.getWaypoints()) {
+ if (waypoint == null) {
continue;
}
- PointGeocachingDataWaypoint wp = new PointGeocachingDataWaypoint();
- wp.code = waypoint.getGeocode();
+
+ final PointGeocachingDataWaypoint wp = new PointGeocachingDataWaypoint();
+ wp.code = waypoint.getLookup();
wp.name = waypoint.getName();
- String locusWpId = toLocusWaypoint(waypoint.getWaypointType());
+ wp.description = waypoint.getNote();
+ final String locusWpId = toLocusWaypoint(waypoint.getWaypointType());
if (locusWpId != null) {
wp.type = locusWpId;
}
- wp.lat = waypoint.getCoords().getLatitude();
- wp.lon = waypoint.getCoords().getLongitude();
+
+ if (waypoint.getCoords() != null) {
+ wp.lat = waypoint.getCoords().getLatitude();
+ wp.lon = waypoint.getCoords().getLongitude();
+ }
pg.waypoints.add(wp);
}
}
@@ -174,10 +182,10 @@ public abstract class AbstractLocusApp extends AbstractApp {
/**
* This method constructs a <code>Point</code> for displaying in Locus
*
- * @param waypoint
* @return null, when the <code>Point</code> could not be constructed
*/
- private static Point getWaypointPoint(Waypoint waypoint) {
+ @Nullable
+ private static Point getWaypointPoint(final Waypoint waypoint) {
if (waypoint == null || waypoint.getCoords() == null) {
return null;
}
@@ -248,6 +256,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
}
}
+ @Nullable
private static String toLocusWaypoint(final WaypointType wt) {
switch (wt) {
case FINAL:
@@ -268,5 +277,4 @@ public abstract class AbstractLocusApp extends AbstractApp {
return null;
}
}
-
}