diff options
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java')
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java | 37 |
1 files changed, 11 insertions, 26 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java index d71a474..a20f2ce 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java @@ -3,45 +3,30 @@ package cgeo.geocaching.apps.cache.navi; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; import cgeo.geocaching.apps.AbstractLocusApp; -import cgeo.geocaching.geopoint.Geopoint; import android.app.Activity; -import java.util.ArrayList; +import java.util.Collections; -class LocusApp extends AbstractLocusApp implements NavigationApp { +class LocusApp extends AbstractLocusApp implements CacheNavigationApp, WaypointNavigationApp { + + @Override + public boolean isEnabled(cgWaypoint waypoint) { + return waypoint.getCoords() != null; + } /** * Show a single cache with waypoints or a single waypoint in Locus. * This method constructs a list of cache and waypoints only. * - * @see AbstractLocusApp#showInLocus */ @Override - public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { - - final ArrayList<Object> points = new ArrayList<Object>(); - - // add cache if present - if (cache != null && cache.getCoords() != null) { - points.add(cache); - } - - // add waypoint if present - if (waypoint != null && waypoint.getCoords() != null) { - points.add(waypoint); - } - - return showInLocus(points, true, false, activity); - } - - @Override - public boolean isEnabled(cgWaypoint waypoint) { - return waypoint != null; + public void navigate(Activity activity, cgWaypoint waypoint) { + showInLocus(Collections.singletonList(waypoint), true, false, activity); } @Override - public boolean isEnabled(Geopoint geopoint) { - return geopoint != null; + public void navigate(Activity activity, cgCache cache) { + showInLocus(Collections.singletonList(cache), true, false, activity); } } |
