aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java')
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java35
1 files changed, 12 insertions, 23 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
index c00723d..32eba7e 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
@@ -5,13 +5,12 @@ 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;
import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationDrivingApp;
import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationWalkingApp;
-import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.settings.Settings;
import org.eclipse.jdt.annotation.Nullable;
@@ -25,7 +24,11 @@ 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
+ }
public enum NavigationAppsEnum {
/** The internal compass activity */
@@ -69,12 +72,16 @@ public final class NavigationAppFactory extends AbstractAppFactory {
WHERE_YOU_GO(new WhereYouGoApp(), 16, R.string.pref_navigation_menu_where_you_go),
PEBBLE(new PebbleApp(), 17, R.string.pref_navigation_menu_pebble),
+ ANDROID_WEAR(new AndroidWearApp(), 18, R.string.pref_navigation_menu_android_wear),
MAPSWITHME(new MapsWithMeApp(), 22, R.string.pref_navigation_menu_mapswithme);
NavigationAppsEnum(final App app, final int id, final int preferenceKey) {
this.app = app;
this.id = id;
this.preferenceKey = preferenceKey;
+ if (preferenceKey == 0 || preferenceKey == -1) {
+ throw new IllegalStateException("Every navigation app must have a boolean preference in the settings to be enabled/disabled.");
+ }
}
/**
@@ -109,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) {
@@ -123,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
@@ -188,9 +190,8 @@ public final class NavigationAppFactory extends AbstractAppFactory {
/**
* Returns all installed navigation apps.
*
- * @return
*/
- public static List<NavigationAppsEnum> getInstalledNavigationApps() {
+ static List<NavigationAppsEnum> getInstalledNavigationApps() {
final List<NavigationAppsEnum> installedNavigationApps = new ArrayList<>();
for (final NavigationAppsEnum appEnum : NavigationAppsEnum.values()) {
if (appEnum.app.isInstalled()) {
@@ -203,7 +204,7 @@ public final class NavigationAppFactory extends AbstractAppFactory {
/**
* @return all navigation apps, which are installed and activated in the settings
*/
- public static List<NavigationAppsEnum> getActiveNavigationApps() {
+ static List<NavigationAppsEnum> getActiveNavigationApps() {
final List<NavigationAppsEnum> activeApps = new ArrayList<>();
for (final NavigationAppsEnum appEnum : getInstalledNavigationApps()) {
if (Settings.isUseNavigationApp(appEnum)) {
@@ -216,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<>();
@@ -232,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);
@@ -278,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) {
@@ -302,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) {
@@ -316,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) {