diff options
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache')
5 files changed, 24 insertions, 46 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java b/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java index c4f2723..4e542b8 100644 --- a/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java +++ b/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java @@ -4,17 +4,19 @@ import cgeo.geocaching.Geocache; import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.apps.cache.navi.CacheNavigationApp; +import org.eclipse.jdt.annotation.NonNull; + import android.app.Activity; import android.content.Intent; abstract class AbstractGeneralApp extends AbstractApp implements CacheNavigationApp { - protected AbstractGeneralApp(final String name, final int id, final String packageName) { + protected AbstractGeneralApp(@NonNull final String name, final int id, @NonNull final String packageName) { super(name, id, null, packageName); } @Override - public void navigate(Activity activity, Geocache cache) { + public void navigate(final Activity activity, final Geocache cache) { final Intent intent = getLaunchIntent(); if (intent != null) { intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java index 5e7a5cc..0bf2c1c 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java @@ -7,6 +7,8 @@ import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.AbstractApp; import cgeo.geocaching.location.Geopoint; +import org.eclipse.jdt.annotation.NonNull; + import android.app.Activity; import android.content.Intent; @@ -15,20 +17,20 @@ import android.content.Intent; */ abstract class AbstractPointNavigationApp extends AbstractApp implements CacheNavigationApp, WaypointNavigationApp, GeopointNavigationApp { - protected AbstractPointNavigationApp(final String name, final int id, final String intent) { + protected AbstractPointNavigationApp(@NonNull final String name, final int id, final String intent) { super(name, id, intent); } - protected AbstractPointNavigationApp(final String name, final int id, final String intent, final String packageName) { + protected AbstractPointNavigationApp(@NonNull final String name, final int id, final String intent, final String packageName) { super(name, id, intent, packageName); } @Override - public void navigate(Activity activity, Geocache cache) { + public void navigate(final Activity activity, final Geocache cache) { navigateWithNullCheck(activity, cache.getCoords()); } - private void navigateWithNullCheck(Activity activity, final Geopoint coords) { + private void navigateWithNullCheck(final Activity activity, final Geopoint coords) { if (coords != null) { navigate(activity, coords); } else { @@ -37,17 +39,17 @@ abstract class AbstractPointNavigationApp extends AbstractApp implements CacheNa } @Override - public void navigate(Activity activity, Waypoint waypoint) { + public void navigate(final Activity activity, final Waypoint waypoint) { navigateWithNullCheck(activity, waypoint.getCoords()); } @Override - public boolean isEnabled(Geocache cache) { + public boolean isEnabled(final Geocache cache) { return cache.getCoords() != null; } @Override - public boolean isEnabled(Waypoint waypoint) { + public boolean isEnabled(final 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 a2a5803..700c8aa 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java @@ -11,11 +11,12 @@ import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.AbstractApp; import org.apache.commons.lang3.StringUtils; +import org.eclipse.jdt.annotation.NonNull; import android.app.Activity; abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigationApp, WaypointNavigationApp { - protected AbstractStaticMapsApp(final String name, final int id) { + protected AbstractStaticMapsApp(@NonNull final String name, final int id) { super(name, id, null); } @@ -29,11 +30,11 @@ abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigat return false; } - protected static boolean hasStaticMap(Waypoint waypoint) { + protected static boolean hasStaticMap(final Waypoint waypoint) { if (waypoint==null) { return false; } - String geocode = waypoint.getGeocode(); + final String geocode = waypoint.getGeocode(); if (StringUtils.isNotEmpty(geocode) && DataStore.isOffline(geocode, null)) { return StaticMapsProvider.hasStaticMapForWaypoint(geocode, waypoint); } @@ -49,7 +50,7 @@ abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigat } final String geocode = StringUtils.upperCase(logable.getGeocode()); - StaticMapsActivity_.IntentBuilder_ builder = StaticMapsActivity_.intent(activity).geocode(geocode).download(download); + final StaticMapsActivity_.IntentBuilder_ builder = StaticMapsActivity_.intent(activity).geocode(geocode).download(download); if (waypoint != null) { builder.waypointId(waypoint.getId()); } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java index d542541..32eba7e 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java @@ -5,7 +5,6 @@ import cgeo.geocaching.Geocache; import cgeo.geocaching.R; import cgeo.geocaching.Waypoint; import cgeo.geocaching.activity.ActivityMixin; -import cgeo.geocaching.apps.AbstractAppFactory; import cgeo.geocaching.apps.App; import cgeo.geocaching.apps.cache.WhereYouGoApp; import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationBikeApp; @@ -25,7 +24,7 @@ import android.widget.ArrayAdapter; import java.util.ArrayList; import java.util.List; -public final class NavigationAppFactory extends AbstractAppFactory { +public final class NavigationAppFactory { private NavigationAppFactory() { // utility class @@ -117,10 +116,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { * 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 - * @param cache - * @param waypoint - * @param destination */ public static void showNavigationMenu(final Activity activity, final Geocache cache, final Waypoint waypoint, final Geopoint destination) { @@ -131,7 +126,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { * Specialized way to handle selection of navigation tool.<br /> * A dialog is created for tool selection and the selected tool is started afterwards. * - * @param activity * @param cache * may be <code>null</code> * @param waypoint @@ -196,7 +190,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Returns all installed navigation apps. * - * @return */ static List<NavigationAppsEnum> getInstalledNavigationApps() { final List<NavigationAppsEnum> installedNavigationApps = new ArrayList<>(); @@ -224,7 +217,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Returns all installed navigation apps for default navigation. * - * @return */ public static List<NavigationAppsEnum> getInstalledDefaultNavigationApps() { final List<NavigationAppsEnum> installedNavigationApps = new ArrayList<>(); @@ -240,10 +232,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { * Handles menu selections for menu entries created with * {@link #showNavigationMenu(Activity, Geocache, Waypoint, Geopoint)}. * - * @param item - * @param activity - * @param cache - * @return */ public static boolean onMenuItemSelected(final MenuItem item, final Activity activity, final Geocache cache) { final App menuItem = getAppFromMenuItem(item); @@ -286,10 +274,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Starts the default navigation tool if correctly set and installed or the compass app as default fallback. * - * @param defaultNavigation * - * @param activity - * @param cache */ public static void startDefaultNavigationApplication(final int defaultNavigation, final Activity activity, final Geocache cache) { if (cache == null || cache.getCoords() == null) { @@ -310,8 +295,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Starts the default navigation tool if correctly set and installed or the compass app as default fallback. * - * @param activity - * @param waypoint */ public static void startDefaultNavigationApplication(final int defaultNavigation, final Activity activity, final Waypoint waypoint) { if (waypoint == null || waypoint.getCoords() == null) { @@ -324,8 +307,6 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** * Starts the default navigation tool if correctly set and installed or the compass app as default fallback. * - * @param activity - * @param destination */ public static void startDefaultNavigationApplication(final int defaultNavigation, final Activity activity, final Geopoint destination) { if (destination == null) { diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationSelectionActionProvider.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationSelectionActionProvider.java index 82883a2..43eaee3 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationSelectionActionProvider.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationSelectionActionProvider.java @@ -3,6 +3,7 @@ package cgeo.geocaching.apps.cache.navi; import cgeo.geocaching.Geocache; import cgeo.geocaching.apps.App; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum; +import cgeo.geocaching.ui.AbstractMenuActionProvider; import android.app.Activity; import android.content.Context; @@ -12,11 +13,13 @@ import android.view.Menu; import android.view.MenuItem; import android.view.MenuItem.OnMenuItemClickListener; import android.view.SubMenu; -import android.view.View; import java.util.List; -public class NavigationSelectionActionProvider extends ActionProvider { +/** + * Action provider listing all available navigation actions as sub menu. + */ +public class NavigationSelectionActionProvider extends AbstractMenuActionProvider { private Geocache geocache; private final Activity activity; @@ -26,17 +29,6 @@ public class NavigationSelectionActionProvider extends ActionProvider { activity = (Activity) context; } - @Override - public boolean hasSubMenu() { - return true; - } - - @Override - public View onCreateActionView() { - // must return null, otherwise the menu will not work - return null; - } - public void setTarget(final Geocache cache) { geocache = cache; } |
