diff options
Diffstat (limited to 'main/src')
43 files changed, 240 insertions, 317 deletions
diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java index 07ddc2e..c85b13b 100644 --- a/main/src/cgeo/geocaching/AbstractPopupActivity.java +++ b/main/src/cgeo/geocaching/AbstractPopupActivity.java @@ -180,7 +180,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { - menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool + menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool menu.add(0, MENU_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode); addVisitMenu(menu, cache); menu.add(0, MENU_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index aab057f..1a087f0 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -5,7 +5,6 @@ import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.apps.cache.GeneralAppsFactory; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; -import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; import cgeo.geocaching.connector.gc.GCConnector; @@ -409,7 +408,7 @@ public class CacheDetailActivity extends AbstractActivity { menu.add(CONTEXT_MENU_WAYPOINT_DELETE, index, 0, R.string.waypoint_delete); } if (waypoint.getCoords() != null) { - menu.add(CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION, index, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()); + menu.add(CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION, index, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()); menu.add(CONTEXT_MENU_WAYPOINT_NAVIGATE, index, 0, R.string.cache_menu_navigate).setIcon(R.drawable.ic_menu_mapmode); menu.add(CONTEXT_MENU_WAYPOINT_CACHES_AROUND, index, 0, R.string.cache_menu_around); } @@ -497,14 +496,14 @@ public class CacheDetailActivity extends AbstractActivity { case CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION: { final cgWaypoint waypoint = cache.getWaypoint(index); if (waypoint != null) { - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.startDefaultNavigationApplication(this, null, waypoint, null); } } break; case CONTEXT_MENU_WAYPOINT_NAVIGATE: { final cgWaypoint waypoint = cache.getWaypoint(contextMenuWPIndex); if (waypoint != null) { - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.showNavigationMenu(this, null, waypoint, null); } } break; @@ -524,17 +523,11 @@ public class CacheDetailActivity extends AbstractActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { if (null != cache) { - menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool + menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool final SubMenu subMenu = menu.addSubMenu(1, 0, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode); - List<NavigationAppsEnum> filter = new ArrayList<NavigationAppsEnum>(1); - if (StaticMapsProvider.doesExistStaticMapForCache(cache.getGeocode())) { - filter.add(NavigationAppsEnum.DOWNLOAD_STATIC_MAPS); - } else { - filter.add(NavigationAppsEnum.STATIC_MAP); - } - NavigationAppFactory.addMenuItems(subMenu, this, filter); - GeneralAppsFactory.addMenuItems(subMenu, this, cache); + NavigationAppFactory.addMenuItems(subMenu, cache); + GeneralAppsFactory.addMenuItems(subMenu, cache); menu.add(1, MENU_CALENDAR, 0, res.getString(R.string.cache_menu_event)).setIcon(R.drawable.ic_menu_agenda); // add event to calendar addVisitMenu(menu, cache); @@ -585,7 +578,7 @@ public class CacheDetailActivity extends AbstractActivity { } return false; } - if (NavigationAppFactory.onMenuItemSelected(item, app.currentGeo(), this, cache, null, null)) { + if (NavigationAppFactory.onMenuItemSelected(item, this, cache)) { return true; } if (GeneralAppsFactory.onMenuItemSelected(item, this, cache)) { @@ -844,7 +837,7 @@ public class CacheDetailActivity extends AbstractActivity { } //TODO: previously this used also the search argument "search". check if still needed - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.startDefaultNavigationApplication(this, cache, null, null); } /** @@ -857,7 +850,7 @@ public class CacheDetailActivity extends AbstractActivity { } //TODO: previously this used also the search argument "search". check if still needed - NavigationAppFactory.startDefaultNavigationApplication2(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.startDefaultNavigationApplication2(this, cache, null, null); } /** @@ -875,7 +868,7 @@ public class CacheDetailActivity extends AbstractActivity { } private void showNavigationMenu() { - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.showNavigationMenu(this, cache, null, null); } /** @@ -2332,13 +2325,13 @@ public class CacheDetailActivity extends AbstractActivity { wpNavView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), CacheDetailActivity.this, null, wpt, null); + NavigationAppFactory.startDefaultNavigationApplication(CacheDetailActivity.this, null, wpt, null); } }); wpNavView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { - NavigationAppFactory.startDefaultNavigationApplication2(app.currentGeo(), CacheDetailActivity.this, null, wpt, null); + NavigationAppFactory.startDefaultNavigationApplication2(CacheDetailActivity.this, null, wpt, null); return true; } }); diff --git a/main/src/cgeo/geocaching/CachePopup.java b/main/src/cgeo/geocaching/CachePopup.java index f1eb8ad..471e9af 100644 --- a/main/src/cgeo/geocaching/CachePopup.java +++ b/main/src/cgeo/geocaching/CachePopup.java @@ -75,7 +75,7 @@ public class CachePopup extends AbstractPopupActivity { @Override protected void showNavigationMenu() { - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.showNavigationMenu(this, cache, null, null); } @Override @@ -218,7 +218,7 @@ public class CachePopup extends AbstractPopupActivity { return; } - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.startDefaultNavigationApplication(this, cache, null, null); } /** @@ -230,7 +230,7 @@ public class CachePopup extends AbstractPopupActivity { showToast(res.getString(R.string.cache_coordinates_no)); return; } - NavigationAppFactory.startDefaultNavigationApplication2(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.startDefaultNavigationApplication2(this, cache, null, null); finish(); } diff --git a/main/src/cgeo/geocaching/Settings.java b/main/src/cgeo/geocaching/Settings.java index b0fe7f7..8f38db9 100644 --- a/main/src/cgeo/geocaching/Settings.java +++ b/main/src/cgeo/geocaching/Settings.java @@ -1,6 +1,7 @@ package cgeo.geocaching; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum; +import cgeo.geocaching.connector.gc.Login; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.LiveMapStrategy.Strategy; import cgeo.geocaching.geopoint.Geopoint; @@ -493,7 +494,7 @@ public final class Settings { /** * @return User selected date format on GC.com - * @see cgBase.gcCustomDateFormats + * @see Login#gcCustomDateFormats */ public static String getGcCustomDate() { return sharedPrefs.getString(KEY_GC_CUSTOM_DATE, null); diff --git a/main/src/cgeo/geocaching/WaypointPopup.java b/main/src/cgeo/geocaching/WaypointPopup.java index b1e5b08..9d65e87 100644 --- a/main/src/cgeo/geocaching/WaypointPopup.java +++ b/main/src/cgeo/geocaching/WaypointPopup.java @@ -84,7 +84,7 @@ public class WaypointPopup extends AbstractPopupActivity { return; } - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.startDefaultNavigationApplication(this, null, waypoint, null); } /** @@ -96,7 +96,7 @@ public class WaypointPopup extends AbstractPopupActivity { showToast(res.getString(R.string.cache_coordinates_no)); return; } - NavigationAppFactory.startDefaultNavigationApplication2(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.startDefaultNavigationApplication2(this, null, waypoint, null); finish(); } @@ -109,7 +109,7 @@ public class WaypointPopup extends AbstractPopupActivity { @Override protected void showNavigationMenu() { - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.showNavigationMenu(this, null, waypoint, null); } @Override diff --git a/main/src/cgeo/geocaching/apps/AbstractApp.java b/main/src/cgeo/geocaching/apps/AbstractApp.java index 3008261..e93b722 100644 --- a/main/src/cgeo/geocaching/apps/AbstractApp.java +++ b/main/src/cgeo/geocaching/apps/AbstractApp.java @@ -4,7 +4,6 @@ import cgeo.geocaching.cgCache; import cgeo.geocaching.cgeo; import cgeo.geocaching.cgeoapplication; -import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -25,11 +24,11 @@ public abstract class AbstractApp implements App { this(name, intent, null); } - protected Intent getLaunchIntent(Context context) { + protected Intent getLaunchIntent() { if (packageName == null) { return null; } - final PackageManager packageManager = context.getPackageManager(); + final PackageManager packageManager = cgeoapplication.getInstance().getPackageManager(); try { // This can throw an exception where the exception type is only defined on API Level > 3 // therefore surround with try-catch @@ -39,11 +38,11 @@ public abstract class AbstractApp implements App { } } - public boolean isInstalled(final Context context) { - if (getLaunchIntent(context) != null) { + public boolean isInstalled() { + if (getLaunchIntent() != null) { return true; } - return cgeo.isIntentAvailable(context, intent); + return cgeo.isIntentAvailable(intent); } @Override diff --git a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java index 6a239a6..dca1f62 100644 --- a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java +++ b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java @@ -3,6 +3,7 @@ package cgeo.geocaching.apps; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.enumerations.CacheSize; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.WaypointType; @@ -15,7 +16,6 @@ import menion.android.locus.addon.publiclib.geoData.PointGeocachingDataWaypoint; import menion.android.locus.addon.publiclib.geoData.PointsData; import android.app.Activity; -import android.content.Context; import android.content.Intent; import android.location.Location; @@ -26,7 +26,7 @@ import java.util.List; /** * for the Locus API: * - * @see http://forum.asamm.cz/viewtopic.php?f=29&t=767 + * @see <a href="http://forum.asamm.cz/viewtopic.php?f=29&t=767">Locus forum</a> */ public abstract class AbstractLocusApp extends AbstractApp { private static final String INTENT = Intent.ACTION_VIEW; @@ -41,8 +41,8 @@ public abstract class AbstractLocusApp extends AbstractApp { } @Override - public boolean isInstalled(Context context) { - return LocusUtils.isLocusAvailable(context); + public boolean isInstalled() { + return LocusUtils.isLocusAvailable(cgeoapplication.getInstance()); } /** diff --git a/main/src/cgeo/geocaching/apps/App.java b/main/src/cgeo/geocaching/apps/App.java index f3cefc3..2e5e730 100644 --- a/main/src/cgeo/geocaching/apps/App.java +++ b/main/src/cgeo/geocaching/apps/App.java @@ -2,10 +2,8 @@ package cgeo.geocaching.apps; import cgeo.geocaching.cgCache; -import android.content.Context; - public interface App { - public boolean isInstalled(final Context context); + public boolean isInstalled(); public String getName(); @@ -13,7 +11,7 @@ public interface App { /** * whether or not the app can be used with the given cache (may depend on properties of the cache) - * + * * @param cache * @return */ diff --git a/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java b/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java index 2b1dff4..61528ea 100644 --- a/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java +++ b/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java @@ -14,7 +14,7 @@ abstract class AbstractGeneralApp extends AbstractApp implements GeneralApp { @Override public boolean invoke(Activity activity, cgCache cache) { - final Intent intent = getLaunchIntent(activity); + final Intent intent = getLaunchIntent(); if (intent != null) { intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); activity.startActivity(intent); diff --git a/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java b/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java index 49db025..22ce677 100644 --- a/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java +++ b/main/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java @@ -21,16 +21,15 @@ public final class GeneralAppsFactory extends AbstractAppFactory { return apps; } - public static void addMenuItems(Menu menu, Activity activity, cgCache cache) { + public static void addMenuItems(Menu menu, cgCache cache) { for (GeneralApp app : getGeneralApps()) { - if (app.isInstalled(activity) && app.isEnabled(cache)) { + if (app.isInstalled() && app.isEnabled(cache)) { menu.add(0, app.getId(), 0, app.getName()); } } } - public static boolean onMenuItemSelected(final MenuItem item, - Activity activity, cgCache cache) { + public static boolean onMenuItemSelected(final MenuItem item, Activity activity, cgCache cache) { final GeneralApp app = (GeneralApp) getAppFromMenuItem(item, apps); if (app != null) { try { diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java index 16b641e..893b9d6 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; import cgeo.geocaching.geopoint.Geopoint; @@ -24,13 +23,13 @@ abstract class AbstractPointNavigationApp extends AbstractNavigationApp { } @Override - public final boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, Geopoint coords) { + public final boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, Geopoint coords) { if (cache == null && waypoint == null && coords == null) { return false; } try { - if (isInstalled(activity)) { + if (isInstalled()) { final Geopoint point = getCoordinates(cache, waypoint, coords); if (point != null) { navigate(activity, point); diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java index cfef583..ffcac8e 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java @@ -12,7 +12,6 @@ import cgeo.geocaching.activity.ActivityMixin; import org.apache.commons.lang3.StringUtils; import android.app.Activity; -import android.content.Context; import android.content.Intent; abstract class AbstractStaticMapsApp extends AbstractNavigationApp { @@ -21,7 +20,7 @@ abstract class AbstractStaticMapsApp extends AbstractNavigationApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { return true; } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java index 720b85a..1576617 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; @@ -8,7 +7,6 @@ import cgeo.geocaching.cgeonavigate; import cgeo.geocaching.geopoint.Geopoint; import android.app.Activity; -import android.content.Context; class CompassApp extends AbstractNavigationApp { @@ -17,13 +15,12 @@ class CompassApp extends AbstractNavigationApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { return true; } @Override - public boolean invoke(IGeoData geo, Activity activity, cgCache cache, - cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { if (cache != null && cache.getGeocode() != null) { cgeonavigate.startActivity(activity, cache.getGeocode(), cache.getName(), cache.getCoords(), null); diff --git a/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java index b6407e7..e104f9b 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/DownloadStaticMapsApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; @@ -15,7 +14,7 @@ class DownloadStaticMapsApp extends AbstractStaticMapsApp { } @Override - public boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { return invoke(activity, cache, waypoint, true); } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java index 24aa693..4e6e62b 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java @@ -6,7 +6,6 @@ import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.utils.Log; import android.app.Activity; -import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -17,7 +16,7 @@ class GoogleMapsApp extends AbstractPointNavigationApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { return true; } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java index fb72157..31d99e9 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java @@ -3,14 +3,14 @@ package cgeo.geocaching.apps.cache.navi; import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.Settings; -import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; +import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.utils.Log; import android.app.Activity; -import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -21,16 +21,17 @@ class GoogleNavigationApp extends AbstractNavigationApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { return true; } @Override - public boolean invoke(final IGeoData geo, final Activity activity, final cgCache cache, final cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(final Activity activity, final cgCache cache, final cgWaypoint waypoint, final Geopoint coords) { if (activity == null) { return false; } + IGeoData geo = cgeoapplication.getInstance().currentGeo(); boolean navigationResult = false; if (coords != null) { navigationResult = navigateToCoordinates(geo, activity, coords); diff --git a/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java b/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java index 2f05459..f1e03ed 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/InternalMap.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; @@ -9,7 +8,6 @@ import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.maps.CGeoMap; import android.app.Activity; -import android.content.Context; class InternalMap extends AbstractNavigationApp { @@ -18,8 +16,7 @@ class InternalMap extends AbstractNavigationApp { } @Override - public boolean invoke(IGeoData geo, Activity activity, cgCache cache, - cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { if (cache != null) { CGeoMap.startActivityGeoCode(activity, cache.getGeocode()); // may need some code from CGeoMap.startActivitySearch(activity, search, cache != null ? cache.getGeocode() : null, true); @@ -35,7 +32,7 @@ class InternalMap extends AbstractNavigationApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { 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 43e86c4..cd2440e 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/LocusApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; import cgeo.geocaching.apps.AbstractLocusApp; @@ -20,7 +19,7 @@ class LocusApp extends AbstractLocusApp implements NavigationApp { * @author koem */ @Override - public boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { final ArrayList<Object> points = new ArrayList<Object>(); diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java index f073331..9ec273e 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; import cgeo.geocaching.apps.App; @@ -9,7 +8,7 @@ import cgeo.geocaching.geopoint.Geopoint; import android.app.Activity; public interface NavigationApp extends App { - public boolean invoke(final IGeoData geo, final Activity activity, + public boolean invoke(final Activity activity, final cgCache cache, 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 4602a04..903dbd4 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.Settings; import cgeo.geocaching.cgCache; @@ -76,26 +75,23 @@ 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(IGeoData, Activity, cgCache, cgWaypoint, Geopoint, boolean, boolean)} with + * Delegates to {@link #showNavigationMenu(Activity, cgCache, cgWaypoint, Geopoint, boolean, boolean)} with * <code>showInternalMap = true</code> and <code>showDefaultNavigation = false</code> * - * @param geo * @param activity * @param cache * @param waypoint * @param destination */ - public static void showNavigationMenu(final IGeoData geo, final Activity activity, + public static void showNavigationMenu(final Activity activity, final cgCache cache, final cgWaypoint waypoint, final Geopoint destination) { - showNavigationMenu(geo, activity, cache, waypoint, destination, true, false); + showNavigationMenu(activity, cache, waypoint, destination, true, false); } /** * Specialized way to handle selection of navigation tool.<br /> * A dialog is created for tool selection and the selected tool is started afterwards. * - * @param geo * @param activity * @param cache * may be <code>null</code> @@ -108,9 +104,9 @@ public final class NavigationAppFactory extends AbstractAppFactory { * @param showDefaultNavigation * should be <code>false</code> by default * - * @see #showNavigationMenu(IGeoData, Activity, cgCache, cgWaypoint, Geopoint) + * @see #showNavigationMenu(Activity, cgCache, cgWaypoint, Geopoint) */ - public static void showNavigationMenu(final IGeoData geo, final Activity activity, + public static void showNavigationMenu(final Activity activity, final cgCache cache, final cgWaypoint waypoint, final Geopoint destination, final boolean showInternalMap, final boolean showDefaultNavigation) { final AlertDialog.Builder builder = new AlertDialog.Builder(activity); @@ -118,7 +114,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { builder.setIcon(R.drawable.ic_menu_mapmode); final List<NavigationAppsEnum> items = new ArrayList<NavigationAppFactory.NavigationAppsEnum>(); final int defaultNavigationTool = Settings.getDefaultNavigationTool(); - for (NavigationAppsEnum navApp : getInstalledNavigationApps(activity)) { + for (NavigationAppsEnum navApp : getInstalledNavigationApps()) { if ((showInternalMap || !(navApp.app instanceof InternalMap)) && (showDefaultNavigation || defaultNavigationTool != navApp.id)) { if ((cache != null && navApp.app.isEnabled(cache)) || (waypoint != null && navApp.app.isEnabled(waypoint))) { @@ -135,7 +131,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { builder.setAdapter(adapter, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { NavigationAppsEnum selectedItem = adapter.getItem(item); - selectedItem.app.invoke(geo, activity, cache, waypoint, destination); + selectedItem.app.invoke(activity, cache, waypoint, destination); } }); final AlertDialog alert = builder.create(); @@ -145,13 +141,12 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Returns all installed navigation apps. * - * @param activity * @return */ - public static List<NavigationAppsEnum> getInstalledNavigationApps(final Activity activity) { + public static List<NavigationAppsEnum> getInstalledNavigationApps() { final List<NavigationAppsEnum> installedNavigationApps = new ArrayList<NavigationAppsEnum>(); for (NavigationAppsEnum appEnum : NavigationAppsEnum.values()) { - if (appEnum.app.isInstalled(activity)) { + if (appEnum.app.isInstalled()) { installedNavigationApps.add(appEnum); } } @@ -166,51 +161,57 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Adds the installed navigation tools to the given menu. - * Use {@link #onMenuItemSelected(MenuItem, IGeoData, Activity, cgCache, cgWaypoint, Geopoint)} on + * Use {@link #onMenuItemSelected(MenuItem, Activity, cgCache)} on * selection event to start the selected navigation tool. - * - * <b>Only use this way if - * {@link #showNavigationMenu(IGeoData, Activity, cgCache, cgWaypoint, Geopoint, boolean, boolean)} is + * + * <b>Only use this way if {@link #showNavigationMenu(Activity, cgCache, cgWaypoint, Geopoint, boolean, boolean)} is * not suitable for the given usecase.</b> - * + * * @param menu - * @param activity - * @param filter */ - public static void addMenuItems(final Menu menu, final Activity activity, final List<NavigationAppsEnum> filter) { - for (NavigationAppsEnum navApp : getInstalledNavigationApps(activity)) { - if (filter.contains(navApp)) { - continue; + public static void addMenuItems(final Menu menu, final cgCache cache) { + for (NavigationAppsEnum navApp : getInstalledNavigationApps()) { + if (navApp.app.isEnabled(cache)) { + menu.add(0, MENU_ITEM_OFFSET + navApp.id, 0, navApp.app.getName()); + } + } + } + + public static void addMenuItems(final Menu menu, final cgWaypoint waypoint) { + for (NavigationAppsEnum navApp : getInstalledNavigationApps()) { + if (navApp.app.isEnabled(waypoint)) { + menu.add(0, MENU_ITEM_OFFSET + navApp.id, 0, navApp.app.getName()); } - menu.add(0, MENU_ITEM_OFFSET + navApp.id, 0, navApp.app.getName()); } } /** - * Handles menu selections for menu entries created with {@link #addMenuItems(Menu, Activity)} or - * {@link #addMenuItems(Menu, Activity, boolean, boolean)}. + * Handles menu selections for menu entries created with {@link #addMenuItems(Menu, cgCache)}. * * @param item - * @param geo * @param activity * @param cache - * @param waypoint - * @param destination * @return */ - public static boolean onMenuItemSelected(final MenuItem item, - final IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint destination) { + public static boolean onMenuItemSelected(final MenuItem item, Activity activity, cgCache cache) { + return invokeApp(activity, cache, null, null, getAppFromMenuItem(item)); + } + + public static boolean onMenuItemSelected(final MenuItem item, Activity activity, cgWaypoint waypoint) { + return invokeApp(activity, null, waypoint, null, getAppFromMenuItem(item)); + } + + private static boolean invokeApp(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint destination, final NavigationApp app) { + if (app == null) { + return false; + } if (cache == null && waypoint == null && destination == null) { return false; } - - final NavigationApp app = getAppFromMenuItem(item); - if (app != null) { - try { - return app.invoke(geo, activity, cache, waypoint, destination); - } catch (Exception e) { - Log.e("NavigationAppFactory.onMenuItemSelected: " + e.toString()); - } + try { + return app.invoke(activity, cache, waypoint, destination); + } catch (Exception e) { + Log.e("NavigationAppFactory.onMenuItemSelected: " + e.toString()); } return false; } @@ -228,59 +229,40 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Starts the default navigation tool if correctly set and installed or the compass app as default fallback. * - * @param geo * @param activity * @param cache * @param waypoint * @param destination */ - public static void startDefaultNavigationApplication(final IGeoData geo, Activity activity, cgCache cache, + public static void startDefaultNavigationApplication(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint destination) { - final NavigationApp app = getDefaultNavigationApplication(activity); - - if (app != null) { - try { - app.invoke(geo, activity, cache, waypoint, destination); - } catch (Exception e) { - Log.e("NavigationAppFactory.startDefaultNavigationApplication: " + e.toString()); - } - } + invokeApp(activity, cache, waypoint, destination, getDefaultNavigationApplication()); } /** * Starts the second default navigation tool if correctly set and installed or the compass app as default fallback. * - * @param geo * @param activity * @param cache * @param waypoint * @param destination */ - public static void startDefaultNavigationApplication2(final IGeoData geo, Activity activity, cgCache cache, + public static void startDefaultNavigationApplication2(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint destination) { - final NavigationApp app = getDefaultNavigationApplication2(activity); - - if (app != null) { - try { - app.invoke(geo, activity, cache, waypoint, destination); - } catch (Exception e) { - Log.e("NavigationAppFactory.startDefaultNavigationApplication2: " + e.toString()); - } - } + invokeApp(activity, cache, waypoint, destination, getNavigationAppFromSetting(Settings.getDefaultNavigationTool2())); } /** * Returns the default navigation tool if correctly set and installed or the compass app as default fallback * - * @param activity * @return never <code>null</code> */ - public static NavigationApp getDefaultNavigationApplication(Activity activity) { - return getNavigationAppFromSetting(activity, Settings.getDefaultNavigationTool()); + public static NavigationApp getDefaultNavigationApplication() { + return getNavigationAppFromSetting(Settings.getDefaultNavigationTool()); } - private static NavigationApp getNavigationAppFromSetting(Activity activity, final int defaultNavigationTool) { - final List<NavigationAppsEnum> installedNavigationApps = getInstalledNavigationApps(activity); + private static NavigationApp getNavigationAppFromSetting(final int defaultNavigationTool) { + final List<NavigationAppsEnum> installedNavigationApps = getInstalledNavigationApps(); for (NavigationAppsEnum navigationApp : installedNavigationApps) { if (navigationApp.id == defaultNavigationTool) { @@ -291,14 +273,4 @@ public final class NavigationAppFactory extends AbstractAppFactory { return NavigationAppsEnum.COMPASS.app; } - /** - * Returns the second default navigation tool if correctly set and installed or the compass app as default fallback - * - * @param activity - * @return never <code>null</code> - */ - public static NavigationApp getDefaultNavigationApplication2(Activity activity) { - return getNavigationAppFromSetting(activity, Settings.getDefaultNavigationTool2()); - } - } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java index 9af90ac..8044cc6 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; @@ -21,7 +20,7 @@ class RMapsApp extends AbstractNavigationApp { } @Override - public boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { try { final ArrayList<String> locations = new ArrayList<String>(); if (cache != null && cache.getCoords() != null) { diff --git a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java index 2f6e7c0..078343b 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgWaypoint; @@ -15,7 +14,7 @@ class StaticMapApp extends AbstractStaticMapsApp { } @Override - public boolean invoke(IGeoData geo, Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { + public boolean invoke(Activity activity, cgCache cache, cgWaypoint waypoint, final Geopoint coords) { return invoke(activity, cache, waypoint, false); } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java b/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java index 12b1a13..41f958d 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java @@ -7,7 +7,6 @@ import cgeo.geocaching.geopoint.Geopoint; import android.app.Activity; import android.content.ActivityNotFoundException; -import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -18,7 +17,7 @@ class StreetviewApp extends AbstractPointNavigationApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { return true; } diff --git a/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java index 45ebaff..519b394 100644 --- a/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java +++ b/main/src/cgeo/geocaching/apps/cachelist/CacheListApp.java @@ -1,9 +1,8 @@ package cgeo.geocaching.apps.cachelist; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.SearchResult; -import cgeo.geocaching.apps.App; import cgeo.geocaching.cgCache; +import cgeo.geocaching.apps.App; import android.app.Activity; @@ -11,7 +10,7 @@ import java.util.List; interface CacheListApp extends App { - boolean invoke(final IGeoData geo, final List<cgCache> caches, + boolean invoke(final List<cgCache> caches, 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 0b36716..fbfb9fc 100644 --- a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java @@ -1,6 +1,5 @@ package cgeo.geocaching.apps.cachelist; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.SearchResult; import cgeo.geocaching.cgCache; @@ -35,7 +34,7 @@ public final class CacheListAppFactory extends AbstractAppFactory { public static MenuItem addMenuItems(final Menu menu, final Activity activity, final Resources res) { final List<CacheListApp> activeApps = new ArrayList<CacheListApp>(LazyHolder.apps.length); for (final CacheListApp app : LazyHolder.apps) { - if (app.isInstalled(activity)) { + if (app.isInstalled()) { activeApps.add(app); } } @@ -56,13 +55,12 @@ public final class CacheListAppFactory extends AbstractAppFactory { } } - public static boolean onMenuItemSelected(final MenuItem item, - final IGeoData geo, final List<cgCache> caches, final IAbstractActivity activity, + public static boolean onMenuItemSelected(final MenuItem item, final List<cgCache> caches, final IAbstractActivity activity, final SearchResult search) { final CacheListApp app = (CacheListApp) getAppFromMenuItem(item, LazyHolder.apps); if (app != null) { try { - boolean result = app.invoke(geo, caches, (Activity) activity, search); + boolean result = app.invoke(caches, (Activity) activity, search); activity.invalidateOptionsMenuCompatible(); return result; } catch (Exception e) { diff --git a/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java b/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java index f450bbc..d6e1fed 100644 --- a/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java +++ b/main/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java @@ -1,14 +1,12 @@ package cgeo.geocaching.apps.cachelist; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.SearchResult; -import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.cgCache; +import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.maps.CGeoMap; import android.app.Activity; -import android.content.Context; import java.util.List; @@ -19,12 +17,12 @@ class InternalCacheListMap extends AbstractApp implements CacheListApp { } @Override - public boolean isInstalled(Context context) { + public boolean isInstalled() { return true; } @Override - public boolean invoke(IGeoData geo, List<cgCache> caches, Activity activity, final SearchResult search) { + public boolean invoke(List<cgCache> caches, Activity activity, final SearchResult search) { CGeoMap.startActivitySearch(activity, search, null); return true; } diff --git a/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java index b7557c3..c3427fb 100644 --- a/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java +++ b/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java @@ -1,10 +1,9 @@ package cgeo.geocaching.apps.cachelist; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.SearchResult; -import cgeo.geocaching.apps.AbstractLocusApp; import cgeo.geocaching.cgCache; +import cgeo.geocaching.apps.AbstractLocusApp; import org.apache.commons.collections.CollectionUtils; @@ -29,7 +28,7 @@ class LocusCacheListApp extends AbstractLocusApp implements CacheListApp { * @author koem */ @Override - public boolean invoke(IGeoData geo, List<cgCache> cacheList, Activity activity, final SearchResult search) { + public boolean invoke(List<cgCache> cacheList, Activity activity, final SearchResult search) { if (CollectionUtils.isEmpty(cacheList)) { return false; } diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java index b3b2ad3..1bc4126 100644 --- a/main/src/cgeo/geocaching/cgData.java +++ b/main/src/cgeo/geocaching/cgData.java @@ -955,11 +955,11 @@ public class cgData { /** * Save/store a cache to the CacheCache - * + * * @param cache * the Cache to save in the CacheCache/DB - * @param saveFlag - * + * @param saveFlags + * * @return true = cache saved successfully to the CacheCache/DB */ public boolean saveCache(cgCache cache, EnumSet<LoadFlags.SaveFlag> saveFlags) { @@ -2907,10 +2907,6 @@ public class cgData { /** * Loads all Waypoints in the coordinate rectangle. * - * @param centerLat - * @param centerLon - * @param spanLat - * @param spanLon * @param excludeDisabled * @param excludeMine * @return diff --git a/main/src/cgeo/geocaching/cgeo.java b/main/src/cgeo/geocaching/cgeo.java index 3cf5f44..bebc84f 100644 --- a/main/src/cgeo/geocaching/cgeo.java +++ b/main/src/cgeo/geocaching/cgeo.java @@ -18,7 +18,6 @@ import org.apache.commons.lang3.StringUtils; import android.app.AlertDialog; import android.app.SearchManager; -import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageInfo; @@ -277,13 +276,13 @@ public class cgeo extends AbstractActivity { super.onPrepareOptionsMenu(menu); MenuItem item = menu.findItem(MENU_SCAN); if (item != null) { - item.setEnabled(isIntentAvailable(this, SCAN_INTENT)); + item.setEnabled(isIntentAvailable(SCAN_INTENT)); } return true; } - public static boolean isIntentAvailable(Context context, String intent) { - final PackageManager packageManager = context.getPackageManager(); + public static boolean isIntentAvailable(String intent) { + final PackageManager packageManager = cgeoapplication.getInstance().getPackageManager(); final List<ResolveInfo> list = packageManager.queryIntentActivities( new Intent(intent), PackageManager.MATCH_DEFAULT_ONLY); diff --git a/main/src/cgeo/geocaching/cgeoapplication.java b/main/src/cgeo/geocaching/cgeoapplication.java index 94285b4..bf96575 100644 --- a/main/src/cgeo/geocaching/cgeoapplication.java +++ b/main/src/cgeo/geocaching/cgeoapplication.java @@ -265,12 +265,12 @@ public class cgeoapplication extends Application { return storage.getAllHistoricCachesCount(); } - /** {@link cgData#moveToList(String, int)} */ + /** {@link cgData#moveToList(List, int)} */ public void markStored(List<cgCache> caches, int listId) { storage.moveToList(caches, listId); } - /** {@link cgData#moveToList(String, int)} */ + /** {@link cgData#moveToList(List, int)} */ public void markDropped(List<cgCache> caches) { storage.moveToList(caches, StoredList.TEMPORARY_LIST_ID); } @@ -285,7 +285,7 @@ public class cgeoapplication extends Application { storage.saveSearchedDestination(destination); } - /** {@link cgData#saveWaypoints(String, List, boolean)} */ + /** {@link cgData#saveWaypoints(cgCache)} */ public boolean saveWaypoints(final cgCache cache) { return storage.saveWaypoints(cache); } @@ -366,7 +366,7 @@ public class cgeoapplication extends Application { return storage.getLists(getResources()); } - /** {@link cgData#getList(int, Resources))} */ + /** {@link cgData#getList(int, Resources)} */ public StoredList getList(int id) { return storage.getList(id, getResources()); } @@ -391,7 +391,7 @@ public class cgeoapplication extends Application { return storage.removeSearchedDestination(destination); } - /** {@link cgData#moveToList(String, int)} */ + /** {@link cgData#moveToList(List, int)} */ public void moveToList(List<cgCache> caches, int listId) { storage.moveToList(caches, listId); } diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index 5231bf7..30ed92c 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -6,9 +6,9 @@ import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; import cgeo.geocaching.apps.cachelist.CacheListAppFactory; +import cgeo.geocaching.connector.gc.AbstractSearchThread; import cgeo.geocaching.connector.gc.GCParser; import cgeo.geocaching.connector.gc.SearchHandler; -import cgeo.geocaching.connector.gc.AbstractSearchThread; import cgeo.geocaching.enumerations.CacheListType; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.LoadFlags; @@ -980,7 +980,7 @@ public class cgeocaches extends AbstractListActivity implements IObserver<Object return true; } - return CacheListAppFactory.onMenuItemSelected(item, app.currentGeo(), cacheList, this, search); + return CacheListAppFactory.onMenuItemSelected(item, cacheList, this, search); } private void setComparator(MenuItem item, @@ -1020,7 +1020,7 @@ public class cgeocaches extends AbstractListActivity implements IObserver<Object contextMenuGeocode = cache.getGeocode(); if (cache.getCoords() != null) { - menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()); + menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()); menu.add(1, MENU_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode); addVisitMenu(menu, cache); menu.add(0, MENU_CACHE_DETAILS, 0, res.getString(R.string.cache_menu_details)); @@ -1086,10 +1086,10 @@ public class cgeocaches extends AbstractListActivity implements IObserver<Object final int id = item.getItemId(); switch (id) { case MENU_DEFAULT_NAVIGATION: - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.startDefaultNavigationApplication(this, cache, null, null); break; case MENU_NAVIGATION: - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, cache, null, null); + NavigationAppFactory.showNavigationMenu(this, cache, null, null); break; case MENU_LOG_VISIT: cache.logVisit(this); diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/cgeoinit.java index c3e193e..13bdfcb 100644 --- a/main/src/cgeo/geocaching/cgeoinit.java +++ b/main/src/cgeo/geocaching/cgeoinit.java @@ -589,7 +589,7 @@ public class cgeoinit extends AbstractActivity { // Default navigation tool settings Spinner defaultNavigationToolSelector = (Spinner) findViewById(R.id.default_navigation_tool); - final List<NavigationAppsEnum> apps = NavigationAppFactory.getInstalledNavigationApps(this); + final List<NavigationAppsEnum> apps = NavigationAppFactory.getInstalledNavigationApps(); ArrayAdapter<NavigationAppsEnum> naviAdapter = new ArrayAdapter<NavigationAppsEnum>(this, android.R.layout.simple_spinner_item, apps) { @Override public View getView(int position, View convertView, ViewGroup parent) { diff --git a/main/src/cgeo/geocaching/cgeopoint.java b/main/src/cgeo/geocaching/cgeopoint.java index 01173b3..084e909 100644 --- a/main/src/cgeo/geocaching/cgeopoint.java +++ b/main/src/cgeo/geocaching/cgeopoint.java @@ -6,8 +6,8 @@ import cgeo.geocaching.geopoint.DistanceParser; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.geopoint.GeopointFormatter; import cgeo.geocaching.ui.Formatter; -import cgeo.geocaching.utils.Log; import cgeo.geocaching.utils.IObserver; +import cgeo.geocaching.utils.Log; import org.apache.commons.lang3.StringUtils; @@ -163,7 +163,7 @@ public class cgeopoint extends AbstractActivity implements IObserver<IGeoData> { case CONTEXT_MENU_NAVIGATE: contextMenuItemPosition = position; if (destination instanceof Destination) { - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, null, null, ((Destination) destination).getCoords()); + NavigationAppFactory.showNavigationMenu(this, null, null, ((Destination) destination).getCoords()); return true; } break; @@ -324,7 +324,7 @@ public class cgeopoint extends AbstractActivity implements IObserver<IGeoData> { @Override public boolean onCreateOptionsMenu(Menu menu) { - menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool + menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool menu.add(0, MENU_NAVIGATE, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_more); @@ -384,7 +384,7 @@ public class cgeopoint extends AbstractActivity implements IObserver<IGeoData> { return true; case MENU_NAVIGATE: - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, null, null, coords); + NavigationAppFactory.showNavigationMenu(this, null, null, coords); return true; default: return false; @@ -452,7 +452,7 @@ public class cgeopoint extends AbstractActivity implements IObserver<IGeoData> { return; } - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, null, null, geopoint); + NavigationAppFactory.startDefaultNavigationApplication(this, null, null, geopoint); } private void cachesAround() { diff --git a/main/src/cgeo/geocaching/cgeowaypoint.java b/main/src/cgeo/geocaching/cgeowaypoint.java index 4874f1b..c3c67b7 100644 --- a/main/src/cgeo/geocaching/cgeowaypoint.java +++ b/main/src/cgeo/geocaching/cgeowaypoint.java @@ -2,7 +2,6 @@ package cgeo.geocaching; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; -import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum; import cgeo.geocaching.enumerations.LoadFlags; import cgeo.geocaching.enumerations.LoadFlags.SaveFlag; import cgeo.geocaching.utils.IObserver; @@ -27,9 +26,7 @@ import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; -import java.util.ArrayList; import java.util.EnumSet; -import java.util.List; public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData> { @@ -197,7 +194,7 @@ public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData @Override public boolean onCreateOptionsMenu(Menu menu) { - menu.add(0, MENU_ID_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool + menu.add(0, MENU_ID_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool menu.add(0, MENU_ID_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode); menu.add(0, MENU_ID_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around menu.add(0, MENU_ID_OPEN_GEOCACHE, 0, res.getString(R.string.waypoint_menu_open_cache)).setIcon(R.drawable.ic_menu_mylocation); // open geocache @@ -237,7 +234,7 @@ public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData goToGeocache(); return true; case MENU_ID_NAVIGATION: - NavigationAppFactory.showNavigationMenu(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.showNavigationMenu(this, null, waypoint, null); return true; default: return false; @@ -311,7 +308,7 @@ public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData return; } - NavigationAppFactory.startDefaultNavigationApplication(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.startDefaultNavigationApplication(this, null, waypoint, null); } /** @@ -322,7 +319,7 @@ public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData return; } - NavigationAppFactory.startDefaultNavigationApplication2(app.currentGeo(), this, null, waypoint, null); + NavigationAppFactory.startDefaultNavigationApplication2(this, null, waypoint, null); } private boolean navigationPossible() { @@ -337,13 +334,7 @@ public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if (navigationPossible()) { menu.setHeaderTitle(res.getString(R.string.cache_menu_navigate)); - List<NavigationAppsEnum> filter = new ArrayList<NavigationAppsEnum>(1); - if (StaticMapsProvider.doesExistStaticMapForWaypoint(waypoint.getGeocode(), waypoint.getId())) { - filter.add(NavigationAppsEnum.DOWNLOAD_STATIC_MAPS); - } else { - filter.add(NavigationAppsEnum.STATIC_MAP); - } - NavigationAppFactory.addMenuItems(menu, this, filter); + NavigationAppFactory.addMenuItems(menu, waypoint); } } @@ -353,7 +344,7 @@ public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData if (handled) { return true; } - return NavigationAppFactory.onMenuItemSelected(item, app.currentGeo(), this, null, waypoint, null); + return NavigationAppFactory.onMenuItemSelected(item, this, waypoint); } public static void startActivity(final Context context, final int waypointId) { diff --git a/main/src/cgeo/geocaching/connector/gc/GCMap.java b/main/src/cgeo/geocaching/connector/gc/GCMap.java index c7cb40f..bd6a04d 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCMap.java +++ b/main/src/cgeo/geocaching/connector/gc/GCMap.java @@ -104,8 +104,6 @@ public class GCMap { } /** - * @param url - * URL used to retrieve data. * @param data * Retrieved data. * @return SearchResult. Never null. diff --git a/main/src/cgeo/geocaching/connector/gc/Tile.java b/main/src/cgeo/geocaching/connector/gc/Tile.java index 4747912..a34503d 100644 --- a/main/src/cgeo/geocaching/connector/gc/Tile.java +++ b/main/src/cgeo/geocaching/connector/gc/Tile.java @@ -24,9 +24,9 @@ import java.util.Set; * * @author blafoo * - * @see http://msdn.microsoft.com/en-us/library/bb259689.aspx - * @see http - * ://svn.openstreetmap.org/applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmMercator.java + * @see <a href="http://msdn.microsoft.com/en-us/library/bb259689.aspx">MSDN</a> + * @see <a + * href="http://svn.openstreetmap.org/applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmMercator.java">OSM</a> */ public class Tile { @@ -70,24 +70,16 @@ public class Tile { /** * Calculate the tile for a Geopoint based on the Spherical Mercator. * - * @see http://developers.cloudmade.com/projects/tiles/examples/convert-coordinates-to-tile-numbers + * @see <a + * href="http://developers.cloudmade.com/projects/tiles/examples/convert-coordinates-to-tile-numbers">Cloudmade</a> */ private int calcX(final Geopoint origin) { return (int) ((origin.getLongitude() + 180.0) / 360.0 * NUMBER_OF_TILES[this.zoomlevel]); } - public int getX() { - return tileX; - } - - public int getY() { - return tileY; - } - /** * Calculate the tile for a Geopoint based on the Spherical Mercator. * - * @see http://developers.cloudmade.com/projects/tiles/examples/convert-coordinates-to-tile-numbers */ private int calcY(final Geopoint origin) { @@ -99,10 +91,19 @@ public class Tile { return (int) ((0.5 - Math.log((1 + sinLatRad) / (1 - sinLatRad)) / (4 * Math.PI)) * NUMBER_OF_TILES[this.zoomlevel]); } + public int getX() { + return tileX; + } + + public int getY() { + return tileY; + } + /** * Calculate latitude/longitude for a given x/y position in this tile. - * - * @see http://developers.cloudmade.com/projects/tiles/examples/convert-coordinates-to-tile-numbers + * + * @see <a + * href="http://developers.cloudmade.com/projects/tiles/examples/convert-coordinates-to-tile-numbers">Cloudmade</a> */ public Geopoint getCoord(UTFGridPosition pos) { diff --git a/main/src/cgeo/geocaching/connector/gc/UTFGrid.java b/main/src/cgeo/geocaching/connector/gc/UTFGrid.java index a663a71..ce80ffd 100644 --- a/main/src/cgeo/geocaching/connector/gc/UTFGrid.java +++ b/main/src/cgeo/geocaching/connector/gc/UTFGrid.java @@ -3,11 +3,11 @@ package cgeo.geocaching.connector.gc; import java.util.List; /** - * + * * @author blafoo - * - * @see https://github.com/mapbox/mbtiles-spec/blob/master/1.1/utfgrid.md - * + * + * @see <a href="https://github.com/mapbox/mbtiles-spec/blob/master/1.1/utfgrid.md">Mapbox</a> + * */ public final class UTFGrid { diff --git a/main/src/cgeo/geocaching/files/LocalStorage.java b/main/src/cgeo/geocaching/files/LocalStorage.java index 6853c08..eea761b 100644 --- a/main/src/cgeo/geocaching/files/LocalStorage.java +++ b/main/src/cgeo/geocaching/files/LocalStorage.java @@ -136,8 +136,8 @@ public class LocalStorage { /** * Save an HTTP response to a file. * - * @param entity - * the entity whose content will be saved + * @param response + * the response whose entity content will be saved * @param targetFile * the target file, which will be created if necessary * @return true if the operation was successful, false otherwise, in which case the file will not exist @@ -203,13 +203,13 @@ public class LocalStorage { } /** - * Save an HTTP response to a file. + * Save a stream to a file. * <p/> - * If the response could not be saved to the file due, for example, to a network error, - * the file will not exist when this method returns. + * If the response could not be saved to the file due, for example, to a network error, the file will not exist when + * this method returns. * - * @param entity - * the entity whose content will be saved + * @param inputStream + * the stream whose content will be saved * @param targetFile * the target file, which will be created if necessary * @return true if the operation was successful, false otherwise diff --git a/main/src/cgeo/geocaching/geopoint/Viewport.java b/main/src/cgeo/geocaching/geopoint/Viewport.java index 1eeadce..7d3fb57 100644 --- a/main/src/cgeo/geocaching/geopoint/Viewport.java +++ b/main/src/cgeo/geocaching/geopoint/Viewport.java @@ -120,8 +120,8 @@ public class Viewport { /** * Return a viewport that contains the current viewport as well as another point. - * - * @param coords + * + * @param point * the point we want in the viewport * @return either the same or an expanded viewport */ diff --git a/main/src/cgeo/geocaching/go4cache/Go4Cache.java b/main/src/cgeo/geocaching/go4cache/Go4Cache.java index b0a7b35..28d739d 100644 --- a/main/src/cgeo/geocaching/go4cache/Go4Cache.java +++ b/main/src/cgeo/geocaching/go4cache/Go4Cache.java @@ -69,8 +69,6 @@ public final class Go4Cache extends Thread { /** * Send the coordinates to go4cache.com if the user opted in to do so. * - * @param app - * the current application * @param coords * the current coordinates */ diff --git a/main/src/cgeo/geocaching/utils/IObserver.java b/main/src/cgeo/geocaching/utils/IObserver.java index c7842aa..bfcc798 100644 --- a/main/src/cgeo/geocaching/utils/IObserver.java +++ b/main/src/cgeo/geocaching/utils/IObserver.java @@ -3,11 +3,11 @@ package cgeo.geocaching.utils; /** * Observer interface. * <p/> - * An observer will receive updates about the observed object (implementing the {@link ISubject} interface) - * through its {@link #update(T)} method. - * + * An observer will receive updates about the observed object (implementing the {@link ISubject} interface) through its + * {@link #update(Object)} method. + * * @param <T> - * the kind of data to observe + * the kind of data to observe */ public interface IObserver<T> { diff --git a/main/src/cgeo/geocaching/utils/ISubject.java b/main/src/cgeo/geocaching/utils/ISubject.java index f332ee8..c325db0 100644 --- a/main/src/cgeo/geocaching/utils/ISubject.java +++ b/main/src/cgeo/geocaching/utils/ISubject.java @@ -39,10 +39,10 @@ public interface ISubject<T> { /** * Notify all the observers that new data is available. * <p/> - * The {@link IObserver#update(T)} method of each observer will be called with no particular order. - * + * The {@link IObserver#update(Object)} method of each observer will be called with no particular order. + * * @param data - * the updated data + * the updated data * @return true if at least one observer was notified, false if there were no observers */ public boolean notifyObservers(final T data); diff --git a/main/src/gnu/android/app/appmanualclient/AppManualReaderClient.java b/main/src/gnu/android/app/appmanualclient/AppManualReaderClient.java index 00593a0..28950b9 100644 --- a/main/src/gnu/android/app/appmanualclient/AppManualReaderClient.java +++ b/main/src/gnu/android/app/appmanualclient/AppManualReaderClient.java @@ -73,74 +73,72 @@ public class AppManualReaderClient { */ public static final String TOPIC_ABOUT_MANUAL = "andtw-about"; - /** - * Convenience function to open a manual at a specific topic. See - * {@link #openManual(String, String, Context, String)} for a detailed - * description. - * - * @param manualIdentifier - * the identifier of the manual to open. This identifier must - * uniquely identify the manual as such, independent of the - * particular locale the manual is intended for. - * @param topic - * the topic to open. Please do not use spaces for topic names. - * With respect to the TiddlyWiki infrastructure used for manuals - * the topic needs to the tag of a (single) tiddler. This way - * manuals can be localized (especially their topic titles) - * without breaking an app's knowledge about topics. Some - * standardized topics are predefined, such as - * {@link #TOPIC_HOME}, {@link #TOPIC_INDEX}, and - * {@link #TOPIC_ABOUT_MANUAL}. - * @param context - * the context (usually an Activity) from which the manual is to - * be opened. In particular, this context is required to derive - * the proper current locale configuration in order to open - * appropriate localized manuals, if installed. - * - * @exception ActivityNotFoundException - * there is no suitable manual installed and all combinations - * of locale scope failed to activate any manual. - * - * @see #openManual(String, String, Context, String, Boolean) - */ + /** + * Convenience function to open a manual at a specific topic. See + * {@link #openManual(String, String, Context, String)} for a detailed + * description. + * + * @param manualIdentifier + * the identifier of the manual to open. This identifier must + * uniquely identify the manual as such, independent of the + * particular locale the manual is intended for. + * @param topic + * the topic to open. Please do not use spaces for topic names. + * With respect to the TiddlyWiki infrastructure used for manuals + * the topic needs to the tag of a (single) tiddler. This way + * manuals can be localized (especially their topic titles) + * without breaking an app's knowledge about topics. Some + * standardized topics are predefined, such as {@link #TOPIC_HOME}, {@link #TOPIC_INDEX}, and + * {@link #TOPIC_ABOUT_MANUAL}. + * @param context + * the context (usually an Activity) from which the manual is to + * be opened. In particular, this context is required to derive + * the proper current locale configuration in order to open + * appropriate localized manuals, if installed. + * + * @exception ActivityNotFoundException + * there is no suitable manual installed and all combinations + * of locale scope failed to activate any manual. + * + * @see #openManual(String, String, Context, String, boolean) + */ public static void openManual(String manualIdentifier, String topic, Context context) throws ActivityNotFoundException { openManual(manualIdentifier, topic, context, null, false); } - /** - * Convenience function to open a manual at a specific topic. See - * {@link #openManual(String, String, Context, String)} for a detailed - * description. - * - * @param manualIdentifier - * the identifier of the manual to open. This identifier must - * uniquely identify the manual as such, independent of the - * particular locale the manual is intended for. - * @param topic - * the topic to open. Please do not use spaces for topic names. - * With respect to the TiddlyWiki infrastructure used for manuals - * the topic needs to the tag of a (single) tiddler. This way - * manuals can be localized (especially their topic titles) - * without breaking an app's knowledge about topics. Some - * standardized topics are predefined, such as - * {@link #TOPIC_HOME}, {@link #TOPIC_INDEX}, and - * {@link #TOPIC_ABOUT_MANUAL}. - * @param context - * the context (usually an Activity) from which the manual is to - * be opened. In particular, this context is required to derive - * the proper current locale configuration in order to open - * appropriate localized manuals, if installed. - * - * @exception ActivityNotFoundException - * there is no suitable manual installed and all combinations - * of locale scope failed to activate any manual. - * @param fallbackUri - * either <code>null</code> or a fallback URI to be used in case - * the user has not installed any suitable manual. - * - * @see #openManual(String, String, Context, String, Boolean) - */ + /** + * Convenience function to open a manual at a specific topic. See + * {@link #openManual(String, String, Context, String)} for a detailed + * description. + * + * @param manualIdentifier + * the identifier of the manual to open. This identifier must + * uniquely identify the manual as such, independent of the + * particular locale the manual is intended for. + * @param topic + * the topic to open. Please do not use spaces for topic names. + * With respect to the TiddlyWiki infrastructure used for manuals + * the topic needs to the tag of a (single) tiddler. This way + * manuals can be localized (especially their topic titles) + * without breaking an app's knowledge about topics. Some + * standardized topics are predefined, such as {@link #TOPIC_HOME}, {@link #TOPIC_INDEX}, and + * {@link #TOPIC_ABOUT_MANUAL}. + * @param context + * the context (usually an Activity) from which the manual is to + * be opened. In particular, this context is required to derive + * the proper current locale configuration in order to open + * appropriate localized manuals, if installed. + * @param fallbackUri + * either <code>null</code> or a fallback URI to be used in case + * the user has not installed any suitable manual. + * + * @exception ActivityNotFoundException + * there is no suitable manual installed and all combinations + * of locale scope failed to activate any manual. + * + * @see #openManual(String, String, Context, String, boolean) + */ public static void openManual(String manualIdentifier, String topic, Context context, String fallbackUri) throws ActivityNotFoundException { |