diff options
author | Bananeweizen <bananeweizen@gmx.de> | 2012-05-05 16:11:42 +0200 |
---|---|---|
committer | Bananeweizen <bananeweizen@gmx.de> | 2012-05-05 16:11:42 +0200 |
commit | e78665d023f6dfae7d7d99f217f29c26fb0c1050 (patch) | |
tree | 933dadae1a83c6f412e8dd6aa8790a566c6fa4f8 /main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java | |
parent | faa4b7517b79d8bf0cbb12666d754d5074343c39 (diff) | |
download | cgeo-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.java | 34 |
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); } } |