diff options
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache/navi')
15 files changed, 163 insertions, 167 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java deleted file mode 100644 index 27cb47c..0000000 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java +++ /dev/null @@ -1,26 +0,0 @@ -package cgeo.geocaching.apps.cache.navi; - -import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.apps.AbstractApp; -import cgeo.geocaching.geopoint.Geopoint; - -abstract class AbstractNavigationApp extends AbstractApp implements NavigationApp { - - protected AbstractNavigationApp(String name, String intent, String packageName) { - super(name, intent, packageName); - } - - protected AbstractNavigationApp(String name, String intent) { - super(name, intent); - } - - @Override - public boolean isEnabled(cgWaypoint waypoint) { - return waypoint != null; - } - - @Override - public boolean isEnabled(Geopoint geopoint) { - return geopoint != null; - } -} diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java index ca8c7db..a3ea57e 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java @@ -1,7 +1,7 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Geocache; +import cgeo.geocaching.Waypoint; import cgeo.geocaching.apps.AbstractApp; import android.app.Activity; @@ -20,22 +20,22 @@ abstract class AbstractPointNavigationApp extends AbstractApp implements CacheNa } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { navigate(activity, cache.getCoords()); } @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { navigate(activity, waypoint.getCoords()); } @Override - public boolean isEnabled(cgCache cache) { + public boolean isEnabled(Geocache cache) { return cache.getCoords() != null; } @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return waypoint.getCoords() != null; } } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java index f27b53c..d089e82 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java @@ -4,9 +4,9 @@ import cgeo.geocaching.ILogable; import cgeo.geocaching.R; import cgeo.geocaching.StaticMapsActivity; import cgeo.geocaching.StaticMapsProvider; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.Waypoint; +import cgeo.geocaching.Geocache; +import cgeo.geocaching.cgData; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.AbstractApp; @@ -15,7 +15,7 @@ import org.apache.commons.lang3.StringUtils; import android.app.Activity; abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigationApp, WaypointNavigationApp { - public AbstractStaticMapsApp(String name) { + protected AbstractStaticMapsApp(String name) { super(name, null); } @@ -29,18 +29,19 @@ abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigat return false; } - protected static boolean hasStaticMap(cgWaypoint waypoint) { - if (waypoint==null) + protected static boolean hasStaticMap(Waypoint waypoint) { + if (waypoint==null) { return false; + } String geocode = waypoint.getGeocode(); int id = waypoint.getId(); - if (StringUtils.isNotEmpty(geocode) && cgeoapplication.getInstance().isOffline(geocode, null)) { + if (StringUtils.isNotEmpty(geocode) && cgData.isOffline(geocode, null)) { return StaticMapsProvider.hasStaticMapForWaypoint(geocode, id); } return false; } - protected static boolean invokeStaticMaps(final Activity activity, final cgCache cache, final cgWaypoint waypoint, final boolean download) { + protected static boolean invokeStaticMaps(final Activity activity, final Geocache cache, final Waypoint waypoint, final boolean download) { final ILogable logable = cache != null && cache.getListId() != 0 ? cache : waypoint; // If the cache is not stored for offline, cache seems to be null and waypoint may be null too if (logable==null || logable.getGeocode()==null ) { diff --git a/main/src/cgeo/geocaching/apps/cache/navi/CacheNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/CacheNavigationApp.java index e47150f..d47bdc0 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/CacheNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/CacheNavigationApp.java @@ -1,6 +1,6 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.cgCache; +import cgeo.geocaching.Geocache; import cgeo.geocaching.apps.App; import android.app.Activity; @@ -10,8 +10,8 @@ import android.app.Activity; * */ public interface CacheNavigationApp extends App { - void navigate(final Activity activity, final cgCache cache); + void navigate(final Activity activity, final Geocache cache); @Override - boolean isEnabled(final cgCache cache); + boolean isEnabled(final Geocache cache); }
\ 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 5275d53..1ded9ac 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java @@ -1,8 +1,8 @@ package cgeo.geocaching.apps.cache.navi; +import cgeo.geocaching.Geocache; import cgeo.geocaching.R; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; import cgeo.geocaching.cgeonavigate; import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.geopoint.Geopoint; @@ -27,24 +27,24 @@ class CompassApp extends AbstractApp implements CacheNavigationApp, WaypointNavi } @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { cgeonavigate.startActivity(activity, waypoint.getPrefix() + "/" + waypoint.getLookup(), waypoint.getName(), waypoint.getCoords(), null, waypoint.getWaypointType().getL10n()); } @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return waypoint.getCoords() != null; } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { cgeonavigate.startActivity(activity, cache.getGeocode(), cache.getName(), cache.getCoords(), null, Formatter.formatCacheInfoShort(cache)); } @Override - public boolean isEnabled(cgCache cache) { + public boolean isEnabled(Geocache cache) { return cache.getGeocode() != null; } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java index faf3c36..bc422d4 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java @@ -1,8 +1,8 @@ package cgeo.geocaching.apps.cache.navi; +import cgeo.geocaching.Geocache; import cgeo.geocaching.R; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; import android.app.Activity; @@ -13,22 +13,22 @@ class DownloadStaticMapsApp extends AbstractStaticMapsApp { } @Override - public boolean isEnabled(cgCache cache) { + public boolean isEnabled(Geocache cache) { return !cache.hasStaticMap(); } @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return !hasStaticMap(waypoint); } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { invokeStaticMaps(activity, cache, null, true); } @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { invokeStaticMaps(activity, null, waypoint, true); } } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java new file mode 100644 index 0000000..db4fc1c --- /dev/null +++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java @@ -0,0 +1,48 @@ +package cgeo.geocaching.apps.cache.navi; + +import cgeo.geocaching.IGeoData; +import cgeo.geocaching.R; +import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.geopoint.Geopoint; +import cgeo.geocaching.maps.MapProviderFactory; +import cgeo.geocaching.utils.Log; + +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; + +public class GoogleMapsDirectionApp extends AbstractPointNavigationApp { + + protected GoogleMapsDirectionApp() { + super(getString(R.string.cache_menu_maps_directions), null); + } + + @Override + public boolean isInstalled() { + return MapProviderFactory.isGoogleMapsInstalled(); + } + + @Override + public void navigate(Activity activity, Geopoint coords) { + try { + IGeoData geo = cgeoapplication.getInstance().currentGeo(); + final Geopoint coordsNow = geo == null ? null : geo.getCoords(); + + if (coordsNow != null) { + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri + .parse("http://maps.google.com/maps?f=d&saddr=" + + coordsNow.getLatitude() + "," + coordsNow.getLongitude() + "&daddr=" + + coords.getLatitude() + "," + coords.getLongitude()))); + } else { + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri + .parse("http://maps.google.com/maps?f=d&daddr=" + + coords.getLatitude() + "," + coords.getLongitude()))); + } + + } catch (Exception e) { + Log.i("GoogleMapsDirection: application not available."); + } + + } + +} diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java index 7258e11..f1616ad 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java @@ -1,10 +1,6 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; -import cgeo.geocaching.Settings; -import cgeo.geocaching.cgeoapplication; -import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.utils.Log; @@ -12,10 +8,13 @@ import android.app.Activity; import android.content.Intent; import android.net.Uri; -class GoogleNavigationApp extends AbstractPointNavigationApp { +abstract class GoogleNavigationApp extends AbstractPointNavigationApp { - GoogleNavigationApp() { - super(getString(R.string.cache_menu_tbt), null); + private final String mode; + + protected GoogleNavigationApp(final int nameResourceId, final String mode) { + super(getString(nameResourceId), null); + this.mode = mode; } @Override @@ -23,49 +22,27 @@ class GoogleNavigationApp extends AbstractPointNavigationApp { return true; } - private static boolean navigateToCoordinates(Activity activity, final Geopoint coords) { - IGeoData geo = cgeoapplication.getInstance().currentGeo(); - final Geopoint coordsNow = geo == null ? null : geo.getCoords(); - - // Google Navigation - if (Settings.isUseGoogleNavigation()) { - try { - activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri - .parse("google.navigation:ll=" + coords.getLatitude() + "," - + coords.getLongitude()))); - - return true; - } catch (Exception e) { - // nothing - } - } - - // Google Maps Directions + @Override + public void navigate(Activity activity, Geopoint coords) { try { - if (coordsNow != null) { - activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri - .parse("http://maps.google.com/maps?f=d&saddr=" - + coordsNow.getLatitude() + "," + coordsNow.getLongitude() + "&daddr=" - + coords.getLatitude() + "," + coords.getLongitude()))); - } else { - activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri - .parse("http://maps.google.com/maps?f=d&daddr=" - + coords.getLatitude() + "," + coords.getLongitude()))); - } + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri + .parse("google.navigation:ll=" + coords.getLatitude() + "," + + coords.getLongitude() + mode))); - return true; } catch (Exception e) { - // nothing + Log.i("cgBase.runNavigation: No navigation application available."); } + } - Log.i("cgBase.runNavigation: No navigation application available."); - return false; + static class GoogleNavigationWalkingApp extends GoogleNavigationApp { + GoogleNavigationWalkingApp() { + super(R.string.cache_menu_navigation_walk, "&mode=w"); + } } - @Override - public void navigate(Activity activity, Geopoint coords) { - if (!navigateToCoordinates(activity, coords)) { - ActivityMixin.showToast(activity, getString(R.string.err_navigation_no)); + static class GoogleNavigationDrivingApp extends GoogleNavigationApp { + GoogleNavigationDrivingApp() { + super(R.string.cache_menu_navigation_drive, "&mode=d"); } } }
\ No newline at end of file diff --git a/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java b/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java index 8185f40..2990f93 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java @@ -1,8 +1,8 @@ package cgeo.geocaching.apps.cache.navi; +import cgeo.geocaching.Geocache; import cgeo.geocaching.R; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.enumerations.WaypointType; import cgeo.geocaching.geopoint.Geopoint; @@ -27,22 +27,22 @@ class InternalMap extends AbstractApp implements CacheNavigationApp, WaypointNav } @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { CGeoMap.startActivityCoords(activity, waypoint.getCoords(), waypoint.getWaypointType(), waypoint.getName()); } @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return waypoint.getCoords() != null; } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { CGeoMap.startActivityGeoCode(activity, cache.getGeocode()); } @Override - public boolean isEnabled(cgCache cache) { + public boolean isEnabled(Geocache cache) { return cache.getCoords() != null; } } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java index a20f2ce..2d7702d 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java @@ -1,7 +1,7 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Geocache; +import cgeo.geocaching.Waypoint; import cgeo.geocaching.apps.AbstractLocusApp; import android.app.Activity; @@ -11,7 +11,7 @@ import java.util.Collections; class LocusApp extends AbstractLocusApp implements CacheNavigationApp, WaypointNavigationApp { @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return waypoint.getCoords() != null; } @@ -21,12 +21,12 @@ class LocusApp extends AbstractLocusApp implements CacheNavigationApp, WaypointN * */ @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { showInLocus(Collections.singletonList(waypoint), true, false, activity); } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { showInLocus(Collections.singletonList(cache), true, false, activity); } } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java deleted file mode 100644 index 52d16cf..0000000 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java +++ /dev/null @@ -1,18 +0,0 @@ -package cgeo.geocaching.apps.cache.navi; - -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.apps.App; -import cgeo.geocaching.geopoint.Geopoint; - -import android.app.Activity; - -public interface NavigationApp extends App { - public boolean invoke(final Activity activity, - final cgCache cache, final cgWaypoint waypoint, - final Geopoint coords); - - boolean isEnabled(final cgWaypoint waypoint); - - boolean isEnabled(final Geopoint geopoint); -} diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java index 57a71bb..5545936 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java @@ -1,13 +1,18 @@ package cgeo.geocaching.apps.cache.navi; +import cgeo.geocaching.Geocache; import cgeo.geocaching.R; import cgeo.geocaching.Settings; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.AbstractAppFactory; import cgeo.geocaching.apps.App; +import cgeo.geocaching.apps.cache.CacheBeaconApp; +import cgeo.geocaching.apps.cache.GccApp; +import cgeo.geocaching.apps.cache.WhereYouGoApp; +import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationDrivingApp; +import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationWalkingApp; import cgeo.geocaching.geopoint.Geopoint; import android.app.Activity; @@ -40,7 +45,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** Google Maps */ GOOGLE_MAPS(new GoogleMapsApp(), 6), /** Google Navigation */ - GOOGLE_NAVIGATION(new GoogleNavigationApp(), 7), + GOOGLE_NAVIGATION(new GoogleNavigationDrivingApp(), 7), /** Google Streetview */ GOOGLE_STREETVIEW(new StreetviewApp(), 8), /** The external OruxMaps app */ @@ -48,7 +53,19 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** The external navigon app */ NAVIGON(new NavigonApp(), 10), /** The external Sygic app */ - SYGIC(new SygicNavigationApp(), 11); + SYGIC(new SygicNavigationApp(), 11), + /** + * Google Navigation in walking mode + */ + GOOGLE_NAVIGATION_WALK(new GoogleNavigationWalkingApp(), 12), + /** + * Google Maps Directions + */ + GOOGLE_MAPS_DIRECTIONS(new GoogleMapsDirectionApp(), 13), + + CACHE_BEACON(new CacheBeaconApp(), 14), + GCC(new GccApp(), 15), + WHERE_YOU_GO(new WhereYouGoApp(), 16); NavigationAppsEnum(App app, int id) { this.app = app; @@ -79,7 +96,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { * Default way to handle selection of navigation tool.<br /> * A dialog is created for tool selection and the selected tool is started afterwards. * <p /> - * Delegates to {@link #showNavigationMenu(Activity, cgCache, cgWaypoint, Geopoint, boolean, boolean)} with + * Delegates to {@link #showNavigationMenu(Activity, cgeo.geocaching.Geocache, cgeo.geocaching.Waypoint, Geopoint, boolean, boolean)} with * <code>showInternalMap = true</code> and <code>showDefaultNavigation = false</code> * * @param activity @@ -88,7 +105,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { * @param destination */ public static void showNavigationMenu(final Activity activity, - final cgCache cache, final cgWaypoint waypoint, final Geopoint destination) { + final Geocache cache, final Waypoint waypoint, final Geopoint destination) { showNavigationMenu(activity, cache, waypoint, destination, true, false); } @@ -108,14 +125,13 @@ public final class NavigationAppFactory extends AbstractAppFactory { * @param showDefaultNavigation * should be <code>false</code> by default * - * @see #showNavigationMenu(Activity, cgCache, cgWaypoint, Geopoint) + * @see #showNavigationMenu(Activity, cgeo.geocaching.Geocache, cgeo.geocaching.Waypoint, Geopoint) */ public static void showNavigationMenu(final Activity activity, - final cgCache cache, final cgWaypoint waypoint, final Geopoint destination, + final Geocache cache, final Waypoint waypoint, final Geopoint destination, final boolean showInternalMap, final boolean showDefaultNavigation) { final AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle(R.string.cache_menu_navigate); - builder.setIcon(R.drawable.ic_menu_mapmode); final List<NavigationAppsEnum> items = new ArrayList<NavigationAppFactory.NavigationAppsEnum>(); final int defaultNavigationTool = Settings.getDefaultNavigationTool(); for (NavigationAppsEnum navApp : getInstalledNavigationApps()) { @@ -146,17 +162,15 @@ public final class NavigationAppFactory extends AbstractAppFactory { @Override public void onClick(DialogInterface dialog, int item) { NavigationAppsEnum selectedItem = adapter.getItem(item); + App app = selectedItem.app; if (cache != null) { - CacheNavigationApp cacheApp = (CacheNavigationApp) selectedItem.app; - cacheApp.navigate(activity, cache); + navigateCache(activity, cache, app); } else if (waypoint != null) { - WaypointNavigationApp waypointApp = (WaypointNavigationApp) selectedItem.app; - waypointApp.navigate(activity, waypoint); + navigateWaypoint(activity, waypoint, app); } else { - GeopointNavigationApp geopointApp = (GeopointNavigationApp) selectedItem.app; - geopointApp.navigate(activity, destination); + navigateGeopoint(activity, destination, app); } } }); @@ -202,15 +216,15 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Adds the installed navigation tools to the given menu. - * Use {@link #onMenuItemSelected(MenuItem, Activity, cgCache)} on + * Use {@link #onMenuItemSelected(MenuItem, Activity, cgeo.geocaching.Geocache)} on * selection event to start the selected navigation tool. * - * <b>Only use this way if {@link #showNavigationMenu(Activity, cgCache, cgWaypoint, Geopoint, boolean, boolean)} is + * <b>Only use this way if {@link #showNavigationMenu(Activity, cgeo.geocaching.Geocache, cgeo.geocaching.Waypoint, Geopoint, boolean, boolean)} is * not suitable for the given usecase.</b> * * @param menu */ - public static void addMenuItems(final Menu menu, final cgCache cache) { + public static void addMenuItems(final Menu menu, final Geocache cache) { for (NavigationAppsEnum navApp : getInstalledNavigationApps()) { if (navApp.app instanceof CacheNavigationApp) { CacheNavigationApp cacheApp = (CacheNavigationApp) navApp.app; @@ -221,7 +235,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { } } - public static void addMenuItems(final Menu menu, final cgWaypoint waypoint) { + public static void addMenuItems(final Menu menu, final Waypoint waypoint) { for (NavigationAppsEnum navApp : getInstalledNavigationApps()) { if (navApp.app instanceof WaypointNavigationApp) { WaypointNavigationApp waypointApp = (WaypointNavigationApp) navApp.app; @@ -233,33 +247,33 @@ public final class NavigationAppFactory extends AbstractAppFactory { } /** - * Handles menu selections for menu entries created with {@link #addMenuItems(Menu, cgCache)}. + * Handles menu selections for menu entries created with {@link #addMenuItems(Menu, cgeo.geocaching.Geocache)}. * * @param item * @param activity * @param cache * @return */ - public static boolean onMenuItemSelected(final MenuItem item, Activity activity, cgCache cache) { + public static boolean onMenuItemSelected(final MenuItem item, Activity activity, Geocache cache) { final App menuItem = getAppFromMenuItem(item); navigateCache(activity, cache, menuItem); return menuItem != null; } - private static void navigateCache(Activity activity, cgCache cache, App app) { + private static void navigateCache(Activity activity, Geocache cache, App app) { if (app instanceof CacheNavigationApp) { CacheNavigationApp cacheApp = (CacheNavigationApp) app; cacheApp.navigate(activity, cache); } } - public static boolean onMenuItemSelected(final MenuItem item, Activity activity, cgWaypoint waypoint) { + public static boolean onMenuItemSelected(final MenuItem item, Activity activity, Waypoint waypoint) { final App menuItem = getAppFromMenuItem(item); navigateWaypoint(activity, waypoint, menuItem); return menuItem != null; } - private static void navigateWaypoint(Activity activity, cgWaypoint waypoint, App app) { + private static void navigateWaypoint(Activity activity, Waypoint waypoint, App app) { if (app instanceof WaypointNavigationApp) { WaypointNavigationApp waypointApp = (WaypointNavigationApp) app; waypointApp.navigate(activity, waypoint); @@ -291,7 +305,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { * @param activity * @param cache */ - public static void startDefaultNavigationApplication(int defaultNavigation, Activity activity, cgCache cache) { + public static void startDefaultNavigationApplication(int defaultNavigation, Activity activity, Geocache cache) { if (cache == null || cache.getCoords() == null) { ActivityMixin.showToast(activity, cgeoapplication.getInstance().getString(R.string.err_location_unknown)); return; @@ -313,7 +327,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { * @param activity * @param waypoint */ - public static void startDefaultNavigationApplication(int defaultNavigation, Activity activity, cgWaypoint waypoint) { + public static void startDefaultNavigationApplication(int defaultNavigation, Activity activity, Waypoint waypoint) { if (waypoint == null || waypoint.getCoords() == null) { ActivityMixin.showToast(activity, cgeoapplication.getInstance().getString(R.string.err_location_unknown)); return; diff --git a/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java index a481813..2c6a8fc 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java @@ -1,8 +1,8 @@ package cgeo.geocaching.apps.cache.navi; import cgeo.geocaching.R; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; +import cgeo.geocaching.Geocache; import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.geopoint.GeopointFormatter.Format; @@ -21,7 +21,7 @@ class RMapsApp extends AbstractApp implements CacheNavigationApp, WaypointNaviga } @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { navigate(activity, waypoint.getCoords(), waypoint.getLookup(), waypoint.getName()); } @@ -34,12 +34,12 @@ class RMapsApp extends AbstractApp implements CacheNavigationApp, WaypointNaviga } @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return waypoint.getCoords() != null; } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { navigate(activity, cache.getCoords(), cache.getGeocode(), cache.getName()); } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java index eb01f23..1dd57a3 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java @@ -1,8 +1,8 @@ package cgeo.geocaching.apps.cache.navi; import cgeo.geocaching.R; -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; +import cgeo.geocaching.Geocache; import android.app.Activity; @@ -13,22 +13,22 @@ class StaticMapApp extends AbstractStaticMapsApp { } @Override - public boolean isEnabled(cgCache cache) { + public boolean isEnabled(Geocache cache) { return cache.hasStaticMap(); } @Override - public boolean isEnabled(cgWaypoint waypoint) { + public boolean isEnabled(Waypoint waypoint) { return hasStaticMap(waypoint); } @Override - public void navigate(Activity activity, cgCache cache) { + public void navigate(Activity activity, Geocache cache) { invokeStaticMaps(activity, cache, null, false); } @Override - public void navigate(Activity activity, cgWaypoint waypoint) { + public void navigate(Activity activity, Waypoint waypoint) { invokeStaticMaps(activity, null, waypoint, false); } } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/WaypointNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/WaypointNavigationApp.java index 7d3a706..c26ec3e 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/WaypointNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/WaypointNavigationApp.java @@ -1,6 +1,6 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.Waypoint; import android.app.Activity; @@ -9,7 +9,7 @@ import android.app.Activity; * */ public interface WaypointNavigationApp { - void navigate(final Activity activity, final cgWaypoint waypoint); + void navigate(final Activity activity, final Waypoint waypoint); - boolean isEnabled(final cgWaypoint waypoint); + boolean isEnabled(final Waypoint waypoint); } |
