aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2012-05-05 16:11:42 +0200
committerBananeweizen <bananeweizen@gmx.de>2012-05-05 16:11:42 +0200
commite78665d023f6dfae7d7d99f217f29c26fb0c1050 (patch)
tree933dadae1a83c6f412e8dd6aa8790a566c6fa4f8 /main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
parentfaa4b7517b79d8bf0cbb12666d754d5074343c39 (diff)
downloadcgeo-e78665d023f6dfae7d7d99f217f29c26fb0c1050.zip
cgeo-e78665d023f6dfae7d7d99f217f29c26fb0c1050.tar.gz
cgeo-e78665d023f6dfae7d7d99f217f29c26fb0c1050.tar.bz2
refactoring: remove duplicated code from static maps app
* introduce shared super class for static maps * move app enablement into apps, the factory should not know specific apps
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java')
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java34
1 files changed, 10 insertions, 24 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
index d8b66c2..2f6e7c0 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
@@ -1,45 +1,31 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.IGeoData;
-import cgeo.geocaching.ILogable;
import cgeo.geocaching.R;
-import cgeo.geocaching.StaticMapsActivity;
-import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.geopoint.Geopoint;
import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-class StaticMapApp extends AbstractNavigationApp {
+class StaticMapApp extends AbstractStaticMapsApp {
StaticMapApp() {
- super(getString(R.string.cache_menu_map_static), null);
+ super(getString(R.string.cache_menu_map_static));
}
@Override
- public boolean isInstalled(Context context) {
- return true;
+ public boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) {
+ return invoke(activity, cache, waypoint, false);
}
@Override
- public boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) {
- final ILogable logable = cache != null && cache.getListId() != 0 ? cache : waypoint;
- final String geocode = logable.getGeocode().toUpperCase();
- if (geocode == null) {
- ActivityMixin.showToast(activity, getString(R.string.err_detail_no_map_static));
- return true;
- }
-
- final Intent intent = new Intent(activity, StaticMapsActivity.class);
- intent.putExtra("geocode", geocode);
- if (waypoint != null) {
- intent.putExtra("waypoint", waypoint.getId());
- }
- activity.startActivity(intent);
+ public boolean isEnabled(cgCache cache) {
+ return hasStaticMap(cache);
+ }
- return true;
+ @Override
+ public boolean isEnabled(cgWaypoint waypoint) {
+ return hasStaticMap(waypoint);
}
}