aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java14
-rw-r--r--main/src/cgeo/geocaching/apps/AbstractApp.java12
-rw-r--r--main/src/cgeo/geocaching/apps/AbstractAppFactory.java2
-rw-r--r--main/src/cgeo/geocaching/apps/AbstractLocusApp.java65
-rw-r--r--main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java2
-rw-r--r--main/src/cgeo/geocaching/apps/cache/GccApp.java6
-rw-r--r--main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java16
-rw-r--r--main/src/cgeo/geocaching/apps/cache/WhereYouGoApp.java6
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/AbstractInternalMap.java15
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java59
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java10
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java46
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java14
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java18
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java37
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java2
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java61
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigonApp.java59
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java50
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java39
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java39
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java18
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java45
-rw-r--r--main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java6
-rw-r--r--main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java15
-rw-r--r--main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java9
-rw-r--r--main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java10
-rw-r--r--main/src/cgeo/geocaching/cgeocaches.java8
-rw-r--r--main/src/cgeo/geocaching/cgeoinit.java4
-rw-r--r--main/src/cgeo/geocaching/cgeopoint.java17
-rw-r--r--main/src/cgeo/geocaching/cgeopopup.java6
-rw-r--r--main/src/cgeo/geocaching/cgeowaypoint.java6
32 files changed, 292 insertions, 424 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 602f340..339219e 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -382,7 +382,7 @@ public class CacheDetailActivity extends AbstractActivity {
if (waypoint.getCoords() != null) {
menu.add(CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION, index, 0, R.string.cache_menu_default_navigation);
SubMenu subMenu = menu.addSubMenu(CONTEXT_MENU_WAYPOINT_NAVIGATE, index, 0, R.string.cache_menu_navigate).setIcon(android.R.drawable.ic_menu_mapmode);
- NavigationAppFactory.addMenuItems(subMenu, this, res);
+ NavigationAppFactory.addMenuItems(subMenu, this);
menu.add(CONTEXT_MENU_WAYPOINT_CACHES_AROUND, index, 0, R.string.cache_menu_around);
}
break;
@@ -442,7 +442,7 @@ public class CacheDetailActivity extends AbstractActivity {
{
final cgWaypoint waypoint = cache.getWaypoint(index);
if (waypoint != null) {
- NavigationAppFactory.startDefaultNavigationApplication(geolocation, this, getResources(), null, null, waypoint, null);
+ NavigationAppFactory.startDefaultNavigationApplication(geolocation, this, null, null, waypoint, null);
}
}
break;
@@ -461,7 +461,7 @@ public class CacheDetailActivity extends AbstractActivity {
// First check the navigation menu, then the option items
final cgWaypoint waypoint = cache.getWaypoint(contextMenuWPIndex);
if (waypoint != null && NavigationAppFactory.onMenuItemSelected(item, geolocation, this,
- res, null, null, waypoint, null)) {
+ null, null, waypoint, null)) {
return true;
}
return onOptionsItemSelected(item);
@@ -475,8 +475,8 @@ public class CacheDetailActivity extends AbstractActivity {
menu.add(0, MENU_DEFAULT_NAVIGATION, 0, res.getString(R.string.cache_menu_default_navigation)).setIcon(android.R.drawable.ic_menu_compass); // default navigation tool
final SubMenu subMenu = menu.addSubMenu(1, 0, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_mapmode);
- NavigationAppFactory.addMenuItems(subMenu, this, res);
- GeneralAppsFactory.addMenuItems(subMenu, this, res, cache);
+ NavigationAppFactory.addMenuItems(subMenu, this);
+ GeneralAppsFactory.addMenuItems(subMenu, this, cache);
menu.add(1, MENU_CALENDAR, 0, res.getString(R.string.cache_menu_event)).setIcon(android.R.drawable.ic_menu_agenda); // add event to calendar
addVisitMenu(menu, cache);
@@ -528,7 +528,7 @@ public class CacheDetailActivity extends AbstractActivity {
}
return false;
}
- if (NavigationAppFactory.onMenuItemSelected(item, geolocation, this, res, cache, search, null, null)) {
+ if (NavigationAppFactory.onMenuItemSelected(item, geolocation, this, cache, search, null, null)) {
return true;
}
if (GeneralAppsFactory.onMenuItemSelected(item, this, cache)) {
@@ -908,7 +908,7 @@ public class CacheDetailActivity extends AbstractActivity {
return;
}
- NavigationAppFactory.startDefaultNavigationApplication(geolocation, this, getResources(), cache, search, null, null);
+ NavigationAppFactory.startDefaultNavigationApplication(geolocation, this, cache, search, null, null);
}
/**
diff --git a/main/src/cgeo/geocaching/apps/AbstractApp.java b/main/src/cgeo/geocaching/apps/AbstractApp.java
index 7cf0b7f..0c38b02 100644
--- a/main/src/cgeo/geocaching/apps/AbstractApp.java
+++ b/main/src/cgeo/geocaching/apps/AbstractApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps;
+import cgeo.geocaching.cgeoapplication;
+
import org.apache.commons.collections.CollectionUtils;
import android.content.Context;
@@ -31,11 +33,11 @@ public abstract class AbstractApp implements App {
if (packageName == null) {
return null;
}
- PackageManager packageManager = context.getPackageManager();
+ final PackageManager packageManager = context.getPackageManager();
try {
// This can throw an exception where the exception type is only defined on API Level > 3
// therefore surround with try-catch
- Intent intent = packageManager.getLaunchIntentForPackage(packageName);
+ final Intent intent = packageManager.getLaunchIntentForPackage(packageName);
return intent;
} catch (Exception e) {
return null;
@@ -60,7 +62,7 @@ public abstract class AbstractApp implements App {
final List<ResolveInfo> list = packageManager.queryIntentActivities(
intent, PackageManager.MATCH_DEFAULT_ONLY);
- return (CollectionUtils.isNotEmpty(list));
+ return CollectionUtils.isNotEmpty(list);
}
@Override
@@ -72,4 +74,8 @@ public abstract class AbstractApp implements App {
public int getId() {
return getName().hashCode();
}
+
+ protected static String getString(int ressourceId) {
+ return cgeoapplication.getInstance().getString(ressourceId);
+ }
}
diff --git a/main/src/cgeo/geocaching/apps/AbstractAppFactory.java b/main/src/cgeo/geocaching/apps/AbstractAppFactory.java
index bb8b017..945f7d6 100644
--- a/main/src/cgeo/geocaching/apps/AbstractAppFactory.java
+++ b/main/src/cgeo/geocaching/apps/AbstractAppFactory.java
@@ -5,7 +5,7 @@ import android.view.MenuItem;
public abstract class AbstractAppFactory {
protected static App getAppFromMenuItem(MenuItem item, final App[] availableApps) {
- int id = item.getItemId();
+ final int id = item.getItemId();
for (App app : availableApps) {
if (app.getId() == id) {
return app;
diff --git a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
index 4a9212b..46105cd 100644
--- a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
+++ b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
@@ -18,7 +18,6 @@ import menion.android.locus.addon.publiclib.geoData.PointsData;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
-import android.content.res.Resources;
import android.location.Location;
import java.text.SimpleDateFormat;
@@ -34,8 +33,8 @@ public abstract class AbstractLocusApp extends AbstractApp {
private static final String INTENT = Intent.ACTION_VIEW;
private static final SimpleDateFormat ISO8601DATE = new SimpleDateFormat("yyyy-MM-dd'T'");
- protected AbstractLocusApp(final Resources res) {
- super(res.getString(R.string.caches_map_locus), INTENT);
+ protected AbstractLocusApp() {
+ super(getString(R.string.caches_map_locus), INTENT);
}
@Override
@@ -53,42 +52,42 @@ public abstract class AbstractLocusApp extends AbstractApp {
* @param activity
* @author koem
*/
- protected static void showInLocus(final List<? extends Object> objectsToShow, final boolean withCacheWaypoints,
+ protected static boolean showInLocus(final List<? extends Object> objectsToShow, final boolean withCacheWaypoints,
final Activity activity) {
- if (objectsToShow == null) {
- return;
+ if (objectsToShow == null || objectsToShow.isEmpty()) {
+ return false;
}
- boolean withCacheDetails = objectsToShow.size() < 200;
- int pc = 0; // counter for points
- PointsData pd = new PointsData("c:geo");
+ final boolean withCacheDetails = objectsToShow.size() < 200;
+ final PointsData pd = new PointsData("c:geo");
for (Object o : objectsToShow) {
- // get icon and Point
Point p = null;
+ // get icon and Point
if (o instanceof cgCache) {
- p = getPoint((cgCache) o, withCacheWaypoints, withCacheDetails);
+ p = getCachePoint((cgCache) o, withCacheWaypoints, withCacheDetails);
} else if (o instanceof cgWaypoint) {
- p = getPoint((cgWaypoint) o);
- } else {
- continue; // no cache, no waypoint => ignore
+ p = getWaypointPoint((cgWaypoint) o);
}
- if (p == null) {
- continue;
+ if (p != null) {
+ pd.addPoint(p);
}
+ }
- pd.addPoint(p);
- ++pc;
+ if (pd.getPoints().isEmpty()) {
+ return false;
}
- if (pc <= 1000) {
+ if (pd.getPoints().size() <= 1000) {
DisplayData.sendData(activity, pd, false);
} else {
- ArrayList<PointsData> data = new ArrayList<PointsData>();
+ final ArrayList<PointsData> data = new ArrayList<PointsData>();
data.add(pd);
DisplayData.sendDataCursor(activity, data,
"content://" + LocusDataStorageProvider.class.getCanonicalName().toLowerCase(),
false);
}
+
+ return true;
}
/**
@@ -103,18 +102,18 @@ public abstract class AbstractLocusApp extends AbstractApp {
* @return null, when the <code>Point</code> could not be constructed
* @author koem
*/
- private static Point getPoint(cgCache cache, boolean withWaypoints, boolean withCacheDetails) {
+ private static Point getCachePoint(cgCache cache, boolean withWaypoints, boolean withCacheDetails) {
if (cache == null || cache.getCoords() == null) {
return null;
}
// create one simple point with location
- Location loc = new Location(Settings.tag);
+ final Location loc = new Location(Settings.tag);
loc.setLatitude(cache.getCoords().getLatitude());
loc.setLongitude(cache.getCoords().getLongitude());
- Point p = new Point(cache.getName(), loc);
- PointGeocachingData pg = new PointGeocachingData();
+ final Point p = new Point(cache.getName(), loc);
+ final PointGeocachingData pg = new PointGeocachingData();
p.setGeocachingData(pg);
// set data in Locus' cache
@@ -127,11 +126,11 @@ public abstract class AbstractLocusApp extends AbstractApp {
if (cache.getHiddenDate() != null) {
pg.hidden = ISO8601DATE.format(Long.valueOf(cache.getHiddenDate().getTime()));
}
- int locusId = toLocusId(cache.getType());
+ int locusId = toLocusType(cache.getType());
if (locusId != NO_LOCUS_ID) {
pg.type = locusId;
}
- locusId = toLocusId(cache.getSize());
+ locusId = toLocusSize(cache.getSize());
if (locusId != NO_LOCUS_ID) {
pg.container = locusId;
}
@@ -152,7 +151,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
PointGeocachingDataWaypoint wp = new PointGeocachingDataWaypoint();
wp.code = waypoint.getGeocode();
wp.name = waypoint.getName();
- String locusWpId = toLocusId(waypoint.getWaypointType());
+ String locusWpId = toLocusWaypoint(waypoint.getWaypointType());
if (locusWpId != null) {
wp.type = locusWpId;
}
@@ -182,17 +181,17 @@ public abstract class AbstractLocusApp extends AbstractApp {
* @return null, when the <code>Point</code> could not be constructed
* @author koem
*/
- private static Point getPoint(cgWaypoint waypoint) {
+ private static Point getWaypointPoint(cgWaypoint waypoint) {
if (waypoint == null || waypoint.getCoords() == null) {
return null;
}
// create one simple point with location
- Location loc = new Location(Settings.tag);
+ final Location loc = new Location(Settings.tag);
loc.setLatitude(waypoint.getCoords().getLatitude());
loc.setLongitude(waypoint.getCoords().getLongitude());
- Point p = new Point(waypoint.getName(), loc);
+ final Point p = new Point(waypoint.getName(), loc);
p.setDescription("<a href=\"" + waypoint.getUrl() + "\">"
+ waypoint.getGeocode() + "</a>");
@@ -201,7 +200,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
private static final int NO_LOCUS_ID = -1;
- private static int toLocusId(final CacheType ct) {
+ private static int toLocusType(final CacheType ct) {
switch (ct) {
case TRADITIONAL:
return PointGeocachingData.CACHE_TYPE_TRADITIONAL;
@@ -234,7 +233,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
}
}
- private static int toLocusId(final CacheSize cs) {
+ private static int toLocusSize(final CacheSize cs) {
switch (cs) {
case MICRO:
return PointGeocachingData.CACHE_SIZE_MICRO;
@@ -253,7 +252,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
}
}
- private static String toLocusId(final WaypointType wt) {
+ private static String toLocusWaypoint(final WaypointType wt) {
switch (wt) {
case FINAL:
return PointGeocachingData.CACHE_WAYPOINT_TYPE_FINAL;
diff --git a/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java b/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java
index 8d0d5ae..f4e92ac 100644
--- a/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java
@@ -23,7 +23,7 @@ abstract class AbstractGeneralApp extends AbstractApp implements GeneralApp {
if (packageName == null) {
return false;
}
- Intent intent = getLaunchIntent(activity);
+ final Intent intent = getLaunchIntent(activity);
if (intent != null) {
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
activity.startActivity(intent);
diff --git a/main/src/cgeo/geocaching/apps/cache/GccApp.java b/main/src/cgeo/geocaching/apps/cache/GccApp.java
index e05ba20..9000d9e 100644
--- a/main/src/cgeo/geocaching/apps/cache/GccApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/GccApp.java
@@ -2,10 +2,8 @@ package cgeo.geocaching.apps.cache;
import cgeo.geocaching.R;
-import android.content.res.Resources;
-
class GccApp extends AbstractGeneralApp {
- GccApp(final Resources res) {
- super(res.getString(R.string.cache_menu_gcc), "eisbehr.gcc");
+ GccApp() {
+ super(getString(R.string.cache_menu_gcc), "eisbehr.gcc");
}
}
diff --git a/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java b/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java
index ad72dc9..a845108 100644
--- a/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java
+++ b/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java
@@ -1,13 +1,12 @@
package cgeo.geocaching.apps.cache;
-import cgeo.geocaching.cgCache;
import cgeo.geocaching.Settings;
+import cgeo.geocaching.cgCache;
import cgeo.geocaching.apps.AbstractAppFactory;
import org.apache.commons.lang3.ArrayUtils;
import android.app.Activity;
-import android.content.res.Resources;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
@@ -15,17 +14,16 @@ import android.view.MenuItem;
public final class GeneralAppsFactory extends AbstractAppFactory {
private static GeneralApp[] apps = new GeneralApp[] {};
- private static GeneralApp[] getGeneralApps(Resources res) {
+ private static GeneralApp[] getGeneralApps() {
if (ArrayUtils.isEmpty(apps)) {
- apps = new GeneralApp[] { new GccApp(res),
- new WhereYouGoApp(res) };
+ apps = new GeneralApp[] { new GccApp(),
+ new WhereYouGoApp() };
}
return apps;
}
- public static void addMenuItems(Menu menu, Activity activity,
- Resources res, cgCache cache) {
- for (GeneralApp app : getGeneralApps(res)) {
+ public static void addMenuItems(Menu menu, Activity activity, cgCache cache) {
+ for (GeneralApp app : getGeneralApps()) {
if (app.isInstalled(activity) && app.isEnabled(cache)) {
menu.add(0, app.getId(), 0, app.getName());
}
@@ -34,7 +32,7 @@ public final class GeneralAppsFactory extends AbstractAppFactory {
public static boolean onMenuItemSelected(final MenuItem item,
Activity activity, cgCache cache) {
- GeneralApp app = (GeneralApp) getAppFromMenuItem(item, apps);
+ final GeneralApp app = (GeneralApp) getAppFromMenuItem(item, apps);
if (app != null) {
try {
return app.invoke(activity, cache);
diff --git a/main/src/cgeo/geocaching/apps/cache/WhereYouGoApp.java b/main/src/cgeo/geocaching/apps/cache/WhereYouGoApp.java
index ec6079c..8c16eaf 100644
--- a/main/src/cgeo/geocaching/apps/cache/WhereYouGoApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/WhereYouGoApp.java
@@ -4,11 +4,9 @@ import cgeo.geocaching.R;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.enumerations.CacheType;
-import android.content.res.Resources;
-
class WhereYouGoApp extends AbstractGeneralApp {
- WhereYouGoApp(Resources res) {
- super(res.getString(R.string.cache_menu_whereyougo), "menion.android.whereyougo");
+ WhereYouGoApp() {
+ super(getString(R.string.cache_menu_whereyougo), "menion.android.whereyougo");
}
@Override
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractInternalMap.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractInternalMap.java
deleted file mode 100644
index a1ffc89..0000000
--- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractInternalMap.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package cgeo.geocaching.apps.cache.navi;
-
-import android.content.Context;
-
-abstract class AbstractInternalMap extends AbstractNavigationApp {
-
- protected AbstractInternalMap(String name, String intent) {
- super(name, intent);
- }
-
- @Override
- public boolean isInstalled(Context context) {
- return true;
- }
-}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java
new file mode 100644
index 0000000..dc51a15
--- /dev/null
+++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java
@@ -0,0 +1,59 @@
+package cgeo.geocaching.apps.cache.navi;
+
+import cgeo.geocaching.SearchResult;
+import cgeo.geocaching.cgCache;
+import cgeo.geocaching.cgGeo;
+import cgeo.geocaching.cgWaypoint;
+import cgeo.geocaching.geopoint.Geopoint;
+
+import android.app.Activity;
+
+/**
+ * navigation app for simple point navigation (no differentiation between cache/waypoint/point)
+ *
+ * @author bananeweizen
+ *
+ */
+abstract class AbstractPointNavigationApp extends AbstractNavigationApp {
+
+ protected AbstractPointNavigationApp(String name, String intent) {
+ super(name, intent);
+ }
+
+ protected AbstractPointNavigationApp(String name, String intent, String packageName) {
+ super(name, intent, packageName);
+ }
+
+ @Override
+ public final boolean invoke(cgGeo geo, Activity activity, cgCache cache, SearchResult search, cgWaypoint waypoint, Geopoint coords) {
+ if (cache == null && waypoint == null && coords == null) {
+ return false;
+ }
+
+ try {
+ if (isInstalled(activity)) {
+ final Geopoint point = getCoordinates(cache, waypoint, coords);
+ if (point != null) {
+ navigate(activity, point);
+ return true;
+ }
+ }
+ } catch (Exception e) {
+ // nothing
+ }
+
+ return false;
+ }
+
+ protected abstract void navigate(Activity activity, Geopoint point);
+
+ private static Geopoint getCoordinates(cgCache cache, cgWaypoint waypoint, Geopoint coords) {
+ if (cache != null && cache.getCoords() != null) {
+ return cache.getCoords();
+ }
+ else if (waypoint != null && waypoint.getCoords() != null) {
+ return waypoint.getCoords();
+ }
+ return coords;
+ }
+} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
index 2c569a7..3442f9a 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
@@ -10,12 +10,11 @@ import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Context;
-import android.content.res.Resources;
class CompassApp extends AbstractNavigationApp {
- CompassApp(final Resources res) {
- super(res.getString(R.string.compass_title), null);
+ CompassApp() {
+ super(getString(R.string.compass_title), null);
}
@Override
@@ -24,8 +23,7 @@ class CompassApp extends AbstractNavigationApp {
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
+ public boolean invoke(cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
if (cache != null && cache.getGeocode() != null) {
@@ -37,7 +35,7 @@ class CompassApp extends AbstractNavigationApp {
return true;
}
if (coords != null) {
- cgeonavigate.startActivity(activity, res.getString(R.string.navigation_direct_navigation), res.getString(R.string.navigation_target), coords, null);
+ cgeonavigate.startActivity(activity, getString(R.string.navigation_direct_navigation), getString(R.string.navigation_target), coords, null);
return true;
}
// search is not handled here
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java
index 1a80b07..649823a 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java
@@ -2,24 +2,19 @@ package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
import cgeo.geocaching.Settings;
-import cgeo.geocaching.cgCache;
-import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
-import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
-import android.content.res.Resources;
import android.net.Uri;
import android.util.Log;
-class GoogleMapsApp extends AbstractNavigationApp {
+class GoogleMapsApp extends AbstractPointNavigationApp {
- GoogleMapsApp(final Resources res) {
- super(res.getString(R.string.cache_menu_map_ext), null);
+ GoogleMapsApp() {
+ super(getString(R.string.cache_menu_map_ext), null);
}
@Override
@@ -27,40 +22,19 @@ class GoogleMapsApp extends AbstractNavigationApp {
return true;
}
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
- final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
- if (cache == null && waypoint == null && coords == null) {
- return false;
- }
-
+ @Override
+ protected void navigate(Activity activity, Geopoint point) {
+ // INFO: q parameter works with Google Maps, but breaks cooperation with all other apps
try {
- if (cache != null && cache.getCoords() != null) {
- startActivity(activity, cache.getCoords());
- } else if (waypoint != null && waypoint.getCoords() != null) {
- startActivity(activity, waypoint.getCoords());
- } else if (coords != null) {
- startActivity(activity, coords);
- }
-
- return true;
+ activity.startActivity(new Intent(Intent.ACTION_VIEW,
+ Uri.parse("geo:" + point.getLatitude() + "," + point.getLongitude())));
+ return;
} catch (Exception e) {
// nothing
}
-
Log.i(Settings.tag, "cgBase.runExternalMap: No maps application available.");
- if (res != null) {
- ActivityMixin.showToast(activity, res.getString(R.string.err_application_no));
- }
-
- return false;
- }
-
- private static void startActivity(Activity activity, final Geopoint coords) {
- activity.startActivity(new Intent(Intent.ACTION_VIEW,
- Uri.parse("geo:" + coords.getLatitude() + "," + coords.getLongitude())));
- // INFO: q parameter works with Google Maps, but breaks cooperation with all other apps
+ ActivityMixin.showToast(activity, getString(R.string.err_application_no));
}
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java
index d30318d..84bfa41 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java
@@ -1,10 +1,10 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.Settings;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.geopoint.Geopoint;
@@ -12,14 +12,13 @@ import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
-import android.content.res.Resources;
import android.net.Uri;
import android.util.Log;
class GoogleNavigationApp extends AbstractNavigationApp {
- GoogleNavigationApp(final Resources res) {
- super(res.getString(R.string.cache_menu_tbt), null);
+ GoogleNavigationApp() {
+ super(getString(R.string.cache_menu_tbt), null);
}
@Override
@@ -28,8 +27,7 @@ class GoogleNavigationApp extends AbstractNavigationApp {
}
@Override
- public boolean invoke(final cgGeo geo, final Activity activity, final Resources res,
- final cgCache cache,
+ public boolean invoke(final cgGeo geo, final Activity activity, final cgCache cache,
final SearchResult search, final cgWaypoint waypoint, final Geopoint coords) {
if (activity == null) {
return false;
@@ -47,9 +45,7 @@ class GoogleNavigationApp extends AbstractNavigationApp {
}
if (!navigationResult) {
- if (res != null) {
- ActivityMixin.showToast(activity, res.getString(R.string.err_navigation_no));
- }
+ ActivityMixin.showToast(activity, getString(R.string.err_navigation_no));
return false;
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java b/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java
index 75cad9c..f8d5c0f 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java
@@ -1,26 +1,25 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.maps.CGeoMap;
import android.app.Activity;
-import android.content.res.Resources;
+import android.content.Context;
-class InternalMap extends AbstractInternalMap {
+class InternalMap extends AbstractNavigationApp {
- InternalMap(Resources res) {
- super(res.getString(R.string.cache_menu_map), null);
+ InternalMap() {
+ super(getString(R.string.cache_menu_map), null);
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
+ public boolean invoke(cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
if (search != null) {
CGeoMap.startActivitySearch(activity, search, cache != null ? cache.getGeocode() : null, true);
@@ -38,4 +37,9 @@ class InternalMap extends AbstractInternalMap {
return true;
}
+ @Override
+ public boolean isInstalled(Context context) {
+ return true;
+ }
+
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java
index cec1597..976292b 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java
@@ -1,23 +1,18 @@
package cgeo.geocaching.apps.cache.navi;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.apps.AbstractLocusApp;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
-import android.content.res.Resources;
import java.util.ArrayList;
class LocusApp extends AbstractLocusApp implements NavigationApp {
- LocusApp(Resources res) {
- super(res);
- }
-
/**
* Show a single cache with waypoints or a single waypoint in Locus.
* This method constructs a list of cache and waypoints only.
@@ -26,32 +21,22 @@ class LocusApp extends AbstractLocusApp implements NavigationApp {
* @author koem
*/
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res, cgCache cache,
+ public boolean invoke(cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
- if (cache == null && waypoint == null && coords == null) {
- return false;
- }
+ final ArrayList<Object> points = new ArrayList<Object>();
- if (isInstalled(activity)) { // TODO: is this if-statement really necessary?
- 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);
- }
-
- showInLocus(points, true, activity);
+ // add cache if present
+ if (cache != null && cache.getCoords() != null) {
+ points.add(cache);
+ }
- return true;
+ // add waypoint if present
+ if (waypoint != null && waypoint.getCoords() != null) {
+ points.add(waypoint);
}
- return false;
+ return showInLocus(points, true, activity);
}
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java
index bb4551e..333d1b5 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java
@@ -8,11 +8,9 @@ import cgeo.geocaching.apps.App;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
-import android.content.res.Resources;
public interface NavigationApp extends App {
public boolean invoke(final cgGeo geo, final Activity activity,
- final Resources res,
final cgCache cache,
final SearchResult search, final cgWaypoint waypoint,
final Geopoint coords);
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
index 234b182..bfda2ea 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
@@ -11,7 +11,6 @@ import cgeo.geocaching.geopoint.Geopoint;
import org.apache.commons.lang3.ArrayUtils;
import android.app.Activity;
-import android.content.res.Resources;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
@@ -22,33 +21,32 @@ import java.util.List;
public final class NavigationAppFactory extends AbstractAppFactory {
private static NavigationApp[] apps = new NavigationApp[] {};
- private static NavigationApp[] getNavigationApps(Resources res) {
+ private static NavigationApp[] getNavigationApps() {
if (ArrayUtils.isEmpty(apps)) {
apps = new NavigationApp[] {
- new CompassApp(res),
- new RadarApp(res),
- new InternalMap(res),
- new StaticMapApp(res),
- new LocusApp(res),
- new RMapsApp(res),
- new GoogleMapsApp(res),
- new GoogleNavigationApp(res),
- new StreetviewApp(res),
- new OruxMapsApp(res),
+ new CompassApp(),
+ new RadarApp(),
+ new InternalMap(),
+ new StaticMapApp(),
+ new LocusApp(),
+ new RMapsApp(),
+ new GoogleMapsApp(),
+ new GoogleNavigationApp(),
+ new StreetviewApp(),
+ new OruxMapsApp(),
new NavigonApp() };
}
return apps;
}
- public static void addMenuItems(final Menu menu, final Activity activity,
- final Resources res) {
- addMenuItems(menu, activity, res, true, false);
+ public static void addMenuItems(final Menu menu, final Activity activity) {
+ addMenuItems(menu, activity, true, false);
}
public static void addMenuItems(final Menu menu, final Activity activity,
- final Resources res, final boolean showInternalMap, final boolean showDefaultNavigation) {
- int defaultNavigationTool = Settings.getDefaultNavigationTool();
- for (NavigationApp app : getInstalledNavigationApps(activity, res)) {
+ final boolean showInternalMap, final boolean showDefaultNavigation) {
+ final int defaultNavigationTool = Settings.getDefaultNavigationTool();
+ for (NavigationApp app : getInstalledNavigationApps(activity)) {
if ((showInternalMap || !(app instanceof InternalMap)) &&
(showDefaultNavigation || defaultNavigationTool != app.getId())) {
menu.add(0, app.getId(), 0, app.getName());
@@ -56,9 +54,9 @@ public final class NavigationAppFactory extends AbstractAppFactory {
}
}
- public static List<NavigationApp> getInstalledNavigationApps(final Activity activity, final Resources res) {
- List<NavigationApp> installedNavigationApps = new ArrayList<NavigationApp>();
- for (NavigationApp app : getNavigationApps(res)) {
+ public static List<NavigationApp> getInstalledNavigationApps(final Activity activity) {
+ final List<NavigationApp> installedNavigationApps = new ArrayList<NavigationApp>();
+ for (NavigationApp app : getNavigationApps()) {
if (app.isInstalled(activity)) {
installedNavigationApps.add(app);
}
@@ -66,9 +64,9 @@ public final class NavigationAppFactory extends AbstractAppFactory {
return installedNavigationApps;
}
- public static int getOrdinalFromId(final Activity activity, final Resources res, final int id) {
+ public static int getOrdinalFromId(final Activity activity, final int id) {
int ordinal = 0;
- for (NavigationApp app : getInstalledNavigationApps(activity, res)) {
+ for (NavigationApp app : getInstalledNavigationApps(activity)) {
if (app.getId() == id) {
return ordinal;
}
@@ -78,13 +76,16 @@ public final class NavigationAppFactory extends AbstractAppFactory {
}
public static boolean onMenuItemSelected(final MenuItem item,
- final cgGeo geo, Activity activity, Resources res,
- cgCache cache,
+ final cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint destination) {
- NavigationApp app = (NavigationApp) getAppFromMenuItem(item, apps);
+ if (cache == null && waypoint == null && destination == null) {
+ return false;
+ }
+
+ final NavigationApp app = (NavigationApp) getAppFromMenuItem(item, apps);
if (app != null) {
try {
- return app.invoke(geo, activity, res, cache,
+ return app.invoke(geo, activity, cache,
search, waypoint, destination);
} catch (Exception e) {
Log.e(Settings.tag, "NavigationAppFactory.onMenuItemSelected: " + e.toString());
@@ -93,12 +94,12 @@ public final class NavigationAppFactory extends AbstractAppFactory {
return false;
}
- public static void startDefaultNavigationApplication(final cgGeo geo, Activity activity, Resources res, cgCache cache,
+ public static void startDefaultNavigationApplication(final cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint destination) {
final int defaultNavigationTool = Settings.getDefaultNavigationTool();
NavigationApp app = null;
- List<NavigationApp> installedNavigationApps = getInstalledNavigationApps(activity, res);
+ final List<NavigationApp> installedNavigationApps = getInstalledNavigationApps(activity);
if (defaultNavigationTool == 0) {
// assume that 0 is the compass-app
@@ -114,7 +115,7 @@ public final class NavigationAppFactory extends AbstractAppFactory {
if (app != null) {
try {
- app.invoke(geo, activity, res, cache, search, waypoint, destination);
+ app.invoke(geo, activity, cache, search, waypoint, destination);
} catch (Exception e) {
Log.e(Settings.tag, "NavigationAppFactory.startDefaultNavigationApplication: " + e.toString());
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigonApp.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigonApp.java
index 98d95ef..69f63dc 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/NavigonApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigonApp.java
@@ -1,16 +1,11 @@
package cgeo.geocaching.apps.cache.navi;
-import cgeo.geocaching.SearchResult;
-import cgeo.geocaching.cgCache;
-import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Intent;
-import android.content.res.Resources;
-public class NavigonApp extends AbstractNavigationApp {
+class NavigonApp extends AbstractPointNavigationApp {
private static final String INTENT = "android.intent.action.navigon.START_PUBLIC";
private static final String INTENT_EXTRA_KEY_LATITUDE = "latitude";
@@ -21,44 +16,18 @@ public class NavigonApp extends AbstractNavigationApp {
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res, cgCache cache, SearchResult search, cgWaypoint waypoint, Geopoint coords) {
- if (cache == null && waypoint == null && coords == null) {
- return false;
- }
-
- try {
- if (isInstalled(activity)) {
- Geopoint usedCoords = getCoords(cache, waypoint, coords);
-
- final Intent intent = new Intent(INTENT);
-
- /*
- * Long/Lat are float values in decimal degree format (+-DDD.DDDDD).
- * Example:
- * intent.putExtra(INTENT_EXTRA_KEY_LATITUDE, 46.12345f);
- * intent.putExtra(INTENT_EXTRA_KEY_LONGITUDE, 23.12345f);
- */
- intent.putExtra(INTENT_EXTRA_KEY_LATITUDE, (float) usedCoords.getLatitude());
- intent.putExtra(INTENT_EXTRA_KEY_LONGITUDE, (float) usedCoords.getLongitude());
-
- activity.startActivity(intent);
-
- return true;
- }
- } catch (Exception e) {
- // nothing
- }
-
- return false;
- }
-
- private static Geopoint getCoords(cgCache cache, cgWaypoint waypoint, Geopoint coords) {
- if (cache != null) {
- return cache.getCoords();
- }
- else if (waypoint != null) {
- return waypoint.getCoords();
- }
- return coords;
+ protected void navigate(Activity activity, Geopoint point) {
+ final Intent intent = new Intent(INTENT);
+
+ /*
+ * Long/Lat are float values in decimal degree format (+-DDD.DDDDD).
+ * Example:
+ * intent.putExtra(INTENT_EXTRA_KEY_LATITUDE, 46.12345f);
+ * intent.putExtra(INTENT_EXTRA_KEY_LONGITUDE, 23.12345f);
+ */
+ intent.putExtra(INTENT_EXTRA_KEY_LATITUDE, (float) point.getLatitude());
+ intent.putExtra(INTENT_EXTRA_KEY_LONGITUDE, (float) point.getLongitude());
+
+ activity.startActivity(intent);
}
} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java
index 51e17c6..27ec2fa 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java
@@ -1,58 +1,26 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
-import cgeo.geocaching.cgCache;
-import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
-import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Intent;
-import android.content.res.Resources;
-class OruxMapsApp extends AbstractNavigationApp {
+class OruxMapsApp extends AbstractPointNavigationApp {
private static final String INTENT = "com.oruxmaps.VIEW_MAP_ONLINE";
- OruxMapsApp(final Resources res) {
- super(res.getString(R.string.cache_menu_oruxmaps), INTENT);
+ OruxMapsApp() {
+ super(getString(R.string.cache_menu_oruxmaps), INTENT);
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
- final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
- if (cache == null && waypoint == null && coords == null) {
- return false;
- }
-
- try {
- if (isInstalled(activity)) {
- Geopoint usedCoords = getCoords(cache, waypoint, coords);
-
- final Intent intent = new Intent(INTENT);
- intent.putExtra("latitude", usedCoords.getLatitude());//latitude, wgs84 datum
- intent.putExtra("longitude", usedCoords.getLongitude());//longitude, wgs84 datum
-
- activity.startActivity(intent);
-
- return true;
- }
- } catch (Exception e) {
- // nothing
- }
-
- return false;
- }
+ protected void navigate(Activity activity, Geopoint point) {
+ final Intent intent = new Intent(INTENT);
+ intent.putExtra("latitude", point.getLatitude());//latitude, wgs84 datum
+ intent.putExtra("longitude", point.getLongitude());//longitude, wgs84 datum
- private static Geopoint getCoords(cgCache cache, cgWaypoint waypoint, Geopoint coords) {
- if (cache != null) {
- return cache.getCoords();
- }
- else if (waypoint != null) {
- return waypoint.getCoords();
- }
- return coords;
+ activity.startActivity(intent);
}
+
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java
index ca47d3e..4fa73c7 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java
@@ -1,16 +1,15 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.GeopointFormatter.Format;
import android.app.Activity;
import android.content.Intent;
-import android.content.res.Resources;
import java.util.ArrayList;
@@ -18,37 +17,29 @@ class RMapsApp extends AbstractNavigationApp {
private static final String INTENT = "com.robert.maps.action.SHOW_POINTS";
- RMapsApp(final Resources res) {
- super(res.getString(R.string.cache_menu_rmaps), INTENT);
+ RMapsApp() {
+ super(getString(R.string.cache_menu_rmaps), INTENT);
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
+ public boolean invoke(cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
- if (cache == null && waypoint == null && coords == null) {
- return false;
- }
-
try {
- if (isInstalled(activity)) {
- final ArrayList<String> locations = new ArrayList<String>();
- if (cache != null && cache.getCoords() != null) {
- locations.add(cache.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA)
- + ";"
- + cache.getGeocode()
- + ";" + cache.getName());
- } else if (waypoint != null && waypoint.getCoords() != null) {
- locations.add(waypoint.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA)
- + ";"
- + waypoint.getLookup()
- + ";" + waypoint.getName());
- }
+ final ArrayList<String> locations = new ArrayList<String>();
+ if (cache != null && cache.getCoords() != null) {
+ locations.add(cache.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA)
+ + ";" + cache.getGeocode()
+ + ";" + cache.getName());
+ } else if (waypoint != null && waypoint.getCoords() != null) {
+ locations.add(waypoint.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA)
+ + ";" + waypoint.getLookup()
+ + ";" + waypoint.getName());
+ }
+ if (!locations.isEmpty()) {
final Intent intent = new Intent(INTENT);
intent.putStringArrayListExtra("locations", locations);
activity.startActivity(intent);
-
return true;
}
} catch (Exception e) {
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java b/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
index f66c199..3374691 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
@@ -1,46 +1,25 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
-import cgeo.geocaching.cgCache;
-import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
-import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Intent;
-import android.content.res.Resources;
-class RadarApp extends AbstractNavigationApp {
+class RadarApp extends AbstractPointNavigationApp {
private static final String INTENT = "com.google.android.radar.SHOW_RADAR";
private static final String PACKAGE_NAME = "com.eclipsim.gpsstatus2";
- RadarApp(final Resources res) {
- super(res.getString(R.string.cache_menu_radar), INTENT, PACKAGE_NAME);
- }
-
- private static boolean navigateTo(Activity activity, final Geopoint coords) {
- if (coords == null) {
- return false;
- }
- Intent radarIntent = new Intent(INTENT);
- radarIntent.putExtra("latitude", (float) coords.getLatitude());
- radarIntent.putExtra("longitude", (float) coords.getLongitude());
- activity.startActivity(radarIntent);
- return true;
+ RadarApp() {
+ super(getString(R.string.cache_menu_radar), INTENT, PACKAGE_NAME);
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
- final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
- if (cache != null) {
- return navigateTo(activity, cache.getCoords());
- }
- if (waypoint != null) {
- return navigateTo(activity, waypoint.getCoords());
- }
- return navigateTo(activity, coords);
+ protected void navigate(Activity activity, Geopoint point) {
+ final Intent radarIntent = new Intent(INTENT);
+ radarIntent.putExtra("latitude", (float) point.getLatitude());
+ radarIntent.putExtra("longitude", (float) point.getLongitude());
+ activity.startActivity(radarIntent);
}
-}
+} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
index a0284e3..9c7064b 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
@@ -1,9 +1,9 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.cgeosmaps;
import cgeo.geocaching.activity.ActivityMixin;
@@ -12,12 +12,11 @@ import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
-import android.content.res.Resources;
class StaticMapApp extends AbstractNavigationApp {
- StaticMapApp(final Resources res) {
- super(res.getString(R.string.cache_menu_map_static), null);
+ StaticMapApp() {
+ super(getString(R.string.cache_menu_map_static), null);
}
@Override
@@ -26,19 +25,18 @@ class StaticMapApp extends AbstractNavigationApp {
}
@Override
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
+ public boolean invoke(cgGeo geo, Activity activity, cgCache cache,
final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
if (cache == null || cache.getListId() == 0) {
- ActivityMixin.showToast(activity, res.getString(R.string.err_detail_no_map_static));
+ ActivityMixin.showToast(activity, getString(R.string.err_detail_no_map_static));
return true;
}
if (cache.getGeocode() != null) {
- Intent smapsIntent = new Intent(activity, cgeosmaps.class);
- smapsIntent.putExtra("geocode", cache.getGeocode().toUpperCase());
- activity.startActivity(smapsIntent);
+ final Intent intent = new Intent(activity, cgeosmaps.class);
+ intent.putExtra("geocode", cache.getGeocode().toUpperCase());
+ activity.startActivity(intent);
return true;
}
return false;
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java b/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java
index c88e54d..12b1a13 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java
@@ -1,10 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.R;
-import cgeo.geocaching.cgCache;
-import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
-import cgeo.geocaching.cgWaypoint;
+import cgeo.geocaching.cgeoapplication;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.geopoint.Geopoint;
@@ -12,13 +9,12 @@ import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
-import android.content.res.Resources;
import android.net.Uri;
-class StreetviewApp extends AbstractNavigationApp {
+class StreetviewApp extends AbstractPointNavigationApp {
- StreetviewApp(final Resources res) {
- super(res.getString(R.string.cache_menu_streetview), null);
+ StreetviewApp() {
+ super(getString(R.string.cache_menu_streetview), null);
}
@Override
@@ -26,34 +22,13 @@ class StreetviewApp extends AbstractNavigationApp {
return true;
}
- public boolean invoke(cgGeo geo, Activity activity, Resources res,
- cgCache cache,
- final SearchResult search, cgWaypoint waypoint, final Geopoint coords) {
- if (cache == null && waypoint == null && coords == null) {
- return false;
- }
-
+ @Override
+ protected void navigate(Activity activity, Geopoint point) {
try {
- if (cache != null && cache.getCoords() != null) {
- startActivity(activity, cache.getCoords());
- } else if (waypoint != null && waypoint.getCoords() != null) {
- startActivity(activity, waypoint.getCoords());
- } else if (coords != null) {
- startActivity(activity, coords);
- }
-
- return true;
+ activity.startActivity(new Intent(Intent.ACTION_VIEW,
+ Uri.parse("google.streetview:cbll=" + point.getLatitude() + "," + point.getLongitude())));
} catch (ActivityNotFoundException e) {
- if (res != null) {
- ActivityMixin.showToast(activity, res.getString(R.string.err_application_no));
- }
+ ActivityMixin.showToast(activity, cgeoapplication.getInstance().getString(R.string.err_application_no));
}
-
- return false;
- }
-
- private static void startActivity(Activity activity, final Geopoint coords) {
- activity.startActivity(new Intent(Intent.ACTION_VIEW,
- Uri.parse("google.streetview:cbll=" + coords.getLatitude() + "," + coords.getLongitude())));
}
-}
+} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java
index 08f8cf8..621aea4 100644
--- a/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java
+++ b/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java
@@ -1,19 +1,17 @@
package cgeo.geocaching.apps.cachelist;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.apps.App;
import android.app.Activity;
-import android.content.res.Resources;
import java.util.List;
interface CacheListApp extends App {
boolean invoke(final cgGeo geo, final List<cgCache> caches,
- final Activity activity, final Resources res,
- final SearchResult search);
+ final Activity activity, final SearchResult search);
}
diff --git a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
index 47503d8..3bea266 100644
--- a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
+++ b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
@@ -1,10 +1,10 @@
package cgeo.geocaching.apps.cachelist;
import cgeo.geocaching.R;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.Settings;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.apps.AbstractAppFactory;
import org.apache.commons.lang3.ArrayUtils;
@@ -22,12 +22,11 @@ import java.util.List;
public final class CacheListAppFactory extends AbstractAppFactory {
private static CacheListApp[] apps = new CacheListApp[] {};
- private static CacheListApp[] getMultiPointNavigationApps(
- Resources res) {
+ private static CacheListApp[] getMultiPointNavigationApps() {
if (ArrayUtils.isEmpty(apps)) {
apps = new CacheListApp[] {
- new InternalCacheListMap(res),
- new LocusCacheListApp(res) };
+ new InternalCacheListMap(),
+ new LocusCacheListApp() };
}
return apps;
}
@@ -41,7 +40,7 @@ public final class CacheListAppFactory extends AbstractAppFactory {
public static MenuItem addMenuItems(Menu menu,
Activity activity, Resources res) {
List<CacheListApp> activeApps = new ArrayList<CacheListApp>();
- for (CacheListApp app : getMultiPointNavigationApps(res)) {
+ for (CacheListApp app : getMultiPointNavigationApps()) {
if (app.isInstalled(activity)) {
activeApps.add(app);
}
@@ -63,12 +62,12 @@ public final class CacheListAppFactory extends AbstractAppFactory {
}
public static boolean onMenuItemSelected(final MenuItem item,
- final cgGeo geo, final List<cgCache> caches, final Activity activity, final Resources res,
+ final cgGeo geo, final List<cgCache> caches, final Activity activity,
final SearchResult search) {
CacheListApp app = (CacheListApp) getAppFromMenuItem(item, apps);
if (app != null) {
try {
- return app.invoke(geo, caches, activity, res, search);
+ return app.invoke(geo, caches, activity, search);
} catch (Exception e) {
Log.e(Settings.tag, "CacheListAppFactory.onMenuItemSelected: " + e.toString());
}
diff --git a/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java b/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java
index f5b1f51..e3cbb4b 100644
--- a/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java
+++ b/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java
@@ -1,22 +1,21 @@
package cgeo.geocaching.apps.cachelist;
import cgeo.geocaching.R;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.apps.AbstractApp;
import cgeo.geocaching.maps.CGeoMap;
import android.app.Activity;
import android.content.Context;
-import android.content.res.Resources;
import java.util.List;
class InternalCacheListMap extends AbstractApp implements CacheListApp {
- InternalCacheListMap(Resources res) {
- super(res.getString(R.string.cache_menu_map), null);
+ InternalCacheListMap() {
+ super(getString(R.string.cache_menu_map), null);
}
@Override
@@ -25,7 +24,7 @@ class InternalCacheListMap extends AbstractApp implements CacheListApp {
}
@Override
- public boolean invoke(cgGeo geo, List<cgCache> caches, Activity activity, Resources res, final SearchResult search) {
+ public boolean invoke(cgGeo geo, List<cgCache> caches, Activity activity, final SearchResult search) {
CGeoMap.startActivitySearch(activity, search, null, false);
return true;
}
diff --git a/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java
index 705014c..0c5455c 100644
--- a/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java
+++ b/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java
@@ -1,23 +1,18 @@
package cgeo.geocaching.apps.cachelist;
+import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
-import cgeo.geocaching.SearchResult;
import cgeo.geocaching.apps.AbstractLocusApp;
import org.apache.commons.collections.CollectionUtils;
import android.app.Activity;
-import android.content.res.Resources;
import java.util.List;
class LocusCacheListApp extends AbstractLocusApp implements CacheListApp {
- LocusCacheListApp(Resources res) {
- super(res);
- }
-
/**
* show caches in Locus
*
@@ -25,8 +20,7 @@ class LocusCacheListApp extends AbstractLocusApp implements CacheListApp {
* @author koem
*/
@Override
- public boolean invoke(cgGeo geo, List<cgCache> cacheList, Activity activity, Resources res,
- final SearchResult search) {
+ public boolean invoke(cgGeo geo, List<cgCache> cacheList, Activity activity, final SearchResult search) {
if (CollectionUtils.isEmpty(cacheList)) {
return false;
}
diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java
index 29d2093..7ff3469 100644
--- a/main/src/cgeo/geocaching/cgeocaches.java
+++ b/main/src/cgeo/geocaching/cgeocaches.java
@@ -1071,7 +1071,7 @@ public class cgeocaches extends AbstractListActivity {
return true;
}
- return CacheListAppFactory.onMenuItemSelected(item, geo, cacheList, this, res, search);
+ return CacheListAppFactory.onMenuItemSelected(item, geo, cacheList, this, search);
}
private void showFilterMenu(final int submenu) {
@@ -1148,7 +1148,7 @@ public class cgeocaches extends AbstractListActivity {
if (cache.getCoords() != null) {
menu.add(0, MENU_DEFAULT_NAVIGATION, 0, res.getString(R.string.cache_menu_default_navigation));
final SubMenu subMenu = menu.addSubMenu(1, 0, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_mapmode);
- NavigationAppFactory.addMenuItems(subMenu, this, res);
+ NavigationAppFactory.addMenuItems(subMenu, this);
addVisitMenu(menu, cache);
menu.add(0, MENU_CACHE_DETAILS, 0, res.getString(R.string.cache_menu_details));
}
@@ -1214,7 +1214,7 @@ public class cgeocaches extends AbstractListActivity {
if (id == MENU_DEFAULT_NAVIGATION) {
final cgCache cache = getCacheFromAdapter(adapterInfo);
final SearchResult singleSearch = cgBase.searchByGeocode(cache.getGeocode(), null, 0, false, null);
- NavigationAppFactory.startDefaultNavigationApplication(geo, this, getResources(), cache, singleSearch, null, null);
+ NavigationAppFactory.startDefaultNavigationApplication(geo, this, cache, singleSearch, null, null);
return true;
} else if (id == MENU_LOG_VISIT) {
return getCacheFromAdapter(adapterInfo).logVisit(this);
@@ -1267,7 +1267,7 @@ public class cgeocaches extends AbstractListActivity {
final SearchResult singleSearch = cgBase.searchByGeocode(cache.getGeocode(), null, 0, false, null);
if (NavigationAppFactory.onMenuItemSelected(item, geo, this,
- res, cache, singleSearch, null, null)) {
+ cache, singleSearch, null, null)) {
return true;
}
diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/cgeoinit.java
index 46e894d..8b72c5c 100644
--- a/main/src/cgeo/geocaching/cgeoinit.java
+++ b/main/src/cgeo/geocaching/cgeoinit.java
@@ -575,7 +575,7 @@ public class cgeoinit extends AbstractActivity {
});
// Default navigation tool settings
- final List<NavigationApp> apps = NavigationAppFactory.getInstalledNavigationApps(this, getResources());
+ final List<NavigationApp> apps = NavigationAppFactory.getInstalledNavigationApps(this);
final List<String> appNames = new ArrayList<String>();
for (NavigationApp navigationApp : apps) {
appNames.add(navigationApp.getName());
@@ -585,7 +585,7 @@ public class cgeoinit extends AbstractActivity {
naviAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
defaultNavigationToolSelector.setAdapter(naviAdapter);
int defaultNavigationTool = Settings.getDefaultNavigationTool();
- defaultNavigationToolSelector.setSelection(NavigationAppFactory.getOrdinalFromId(this, getResources(), defaultNavigationTool));
+ defaultNavigationToolSelector.setSelection(NavigationAppFactory.getOrdinalFromId(this, defaultNavigationTool));
defaultNavigationToolSelector.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
diff --git a/main/src/cgeo/geocaching/cgeopoint.java b/main/src/cgeo/geocaching/cgeopoint.java
index bbc2e9d..e44a4e1 100644
--- a/main/src/cgeo/geocaching/cgeopoint.java
+++ b/main/src/cgeo/geocaching/cgeopoint.java
@@ -119,7 +119,7 @@ public class cgeopoint extends AbstractActivity {
private void createHistoryView() {
historyListView = (ListView) findViewById(R.id.historyList);
- View pointControls = getLayoutInflater().inflate(
+ final View pointControls = getLayoutInflater().inflate(
R.layout.point_controls, null);
historyListView.addHeaderView(pointControls, null, false);
@@ -133,20 +133,19 @@ public class cgeopoint extends AbstractActivity {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
- Object selection = arg0.getItemAtPosition(arg2);
+ final Object selection = arg0.getItemAtPosition(arg2);
if (selection instanceof cgDestination) {
navigateTo(((cgDestination) selection).getCoords());
}
}
});
- final Activity thisActivity = this;
historyListView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
- SubMenu subMenu = menu.addSubMenu(Menu.NONE, CONTEXT_MENU_NAVIGATE, Menu.NONE, res.getString(R.string.cache_menu_navigate));
- NavigationAppFactory.addMenuItems(subMenu, thisActivity, res);
+ final SubMenu subMenu = menu.addSubMenu(Menu.NONE, CONTEXT_MENU_NAVIGATE, Menu.NONE, res.getString(R.string.cache_menu_navigate));
+ NavigationAppFactory.addMenuItems(subMenu, cgeopoint.this);
menu.add(Menu.NONE, CONTEXT_MENU_EDIT_WAYPOINT, Menu.NONE, R.string.waypoint_edit);
menu.add(Menu.NONE, CONTEXT_MENU_DELETE_WAYPOINT, Menu.NONE, R.string.waypoint_delete);
@@ -181,7 +180,7 @@ public class cgeopoint extends AbstractActivity {
default:
if (destination instanceof cgDestination) {
- return NavigationAppFactory.onMenuItemSelected(item, geo, this, res, null, null, null, ((cgDestination) destination).getCoords());
+ return NavigationAppFactory.onMenuItemSelected(item, geo, this, null, null, null, ((cgDestination) destination).getCoords());
}
}
@@ -305,7 +304,7 @@ public class cgeopoint extends AbstractActivity {
menu.add(0, MENU_DEFAULT_NAVIGATION, 0, res.getString(R.string.cache_menu_default_navigation)).setIcon(android.R.drawable.ic_menu_compass); // default navigation tool
SubMenu subMenu = menu.addSubMenu(1, MENU_NAVIGATE, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_more);
- NavigationAppFactory.addMenuItems(subMenu, this, res);
+ NavigationAppFactory.addMenuItems(subMenu, this);
menu.add(0, MENU_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(android.R.drawable.ic_menu_rotate); // caches around
@@ -364,7 +363,7 @@ public class cgeopoint extends AbstractActivity {
return true;
default:
- return NavigationAppFactory.onMenuItemSelected(item, geo, this, res, null, null, null, coords);
+ return NavigationAppFactory.onMenuItemSelected(item, geo, this, null, null, null, coords);
}
}
@@ -432,7 +431,7 @@ public class cgeopoint extends AbstractActivity {
return;
}
- NavigationAppFactory.startDefaultNavigationApplication(geo, this, getResources(), null, null, null, geopoint);
+ NavigationAppFactory.startDefaultNavigationApplication(geo, this, null, null, null, geopoint);
}
private void cachesAround() {
diff --git a/main/src/cgeo/geocaching/cgeopopup.java b/main/src/cgeo/geocaching/cgeopopup.java
index b28ce52..75dffb1 100644
--- a/main/src/cgeo/geocaching/cgeopopup.java
+++ b/main/src/cgeo/geocaching/cgeopopup.java
@@ -136,7 +136,7 @@ public class cgeopopup extends AbstractActivity {
menu.add(0, 2, 0, res.getString(R.string.cache_menu_default_navigation)).setIcon(android.R.drawable.ic_menu_compass); // default navigation tool
SubMenu subMenu = menu.addSubMenu(1, 0, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_mapmode);
- NavigationAppFactory.addMenuItems(subMenu, this, res);
+ NavigationAppFactory.addMenuItems(subMenu, this);
addVisitMenu(menu, cache);
menu.add(0, 5, 0, res.getString(R.string.cache_menu_around)).setIcon(android.R.drawable.ic_menu_rotate); // caches around
menu.add(0, 7, 0, res.getString(R.string.cache_menu_browser)).setIcon(android.R.drawable.ic_menu_info_details); // browser
@@ -187,7 +187,7 @@ public class cgeopopup extends AbstractActivity {
return true;
}
- if (NavigationAppFactory.onMenuItemSelected(item, geo, this, res, cache, null, null, null)) {
+ if (NavigationAppFactory.onMenuItemSelected(item, geo, this, cache, null, null, null)) {
return true;
}
@@ -522,7 +522,7 @@ public class cgeopopup extends AbstractActivity {
return;
}
- NavigationAppFactory.startDefaultNavigationApplication(geo, this, getResources(), cache, null, null, null);
+ NavigationAppFactory.startDefaultNavigationApplication(geo, this, cache, null, null, null);
}
private void cachesAround() {
diff --git a/main/src/cgeo/geocaching/cgeowaypoint.java b/main/src/cgeo/geocaching/cgeowaypoint.java
index 88088e3..4abdfd3 100644
--- a/main/src/cgeo/geocaching/cgeowaypoint.java
+++ b/main/src/cgeo/geocaching/cgeowaypoint.java
@@ -219,7 +219,7 @@ public class cgeowaypoint extends AbstractActivity {
}
private void addNavigationMenuItems(Menu menu) {
- NavigationAppFactory.addMenuItems(menu, this, res);
+ NavigationAppFactory.addMenuItems(menu, this);
}
@Override
@@ -249,7 +249,7 @@ public class cgeowaypoint extends AbstractActivity {
return true;
}
- return NavigationAppFactory.onMenuItemSelected(item, geo, this, res, null, null, waypoint, null);
+ return NavigationAppFactory.onMenuItemSelected(item, geo, this, null, null, waypoint, null);
}
private void cachesAround() {
@@ -316,7 +316,7 @@ public class cgeowaypoint extends AbstractActivity {
return;
}
- NavigationAppFactory.startDefaultNavigationApplication(geo, this, getResources(), null, null, waypoint, null);
+ NavigationAppFactory.startDefaultNavigationApplication(geo, this, null, null, waypoint, null);
}
private boolean navigationPossible() {