aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps/cache
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache')
-rw-r--r--main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java6
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/AbstractPointNavigationApp.java16
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java9
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java21
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigationSelectionActionProvider.java18
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;
}