From 323ebe30c12e8f6f6c22ba132832befbb81e24c0 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Mon, 7 May 2012 23:39:22 +0200 Subject: fix #1516: Navigate from "Any destination" not working --- .../apps/cache/navi/NavigationAppFactory.java | 2 +- main/src/cgeo/geocaching/cgeopoint.java | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) (limited to 'main') diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java index 50520ac..666c443 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java @@ -119,7 +119,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { 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))) { + if ((cache != null && navApp.app.isEnabled(cache)) || (waypoint != null && navApp.app.isEnabled(waypoint)) || destination != null) { items.add(navApp); } } diff --git a/main/src/cgeo/geocaching/cgeopoint.java b/main/src/cgeo/geocaching/cgeopoint.java index 0c3c991..bd2ec6f 100644 --- a/main/src/cgeo/geocaching/cgeopoint.java +++ b/main/src/cgeo/geocaching/cgeopoint.java @@ -326,7 +326,7 @@ public class cgeopoint extends AbstractActivity implements IObserver { public boolean onCreateOptionsMenu(Menu menu) { 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); + menu.add(0, MENU_NAVIGATE, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode); menu.add(0, MENU_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around @@ -340,17 +340,10 @@ public class cgeopoint extends AbstractActivity implements IObserver { super.onPrepareOptionsMenu(menu); try { - final Geopoint coords = getDestination(); - - if (coords != null) { - menu.findItem(MENU_NAVIGATE).setVisible(true); - menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(true); - menu.findItem(MENU_CACHES_AROUND).setVisible(true); - } else { - menu.findItem(MENU_NAVIGATE).setVisible(false); - menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(false); - menu.findItem(MENU_CACHES_AROUND).setVisible(false); - } + boolean visible = getDestination() != null; + menu.findItem(MENU_NAVIGATE).setVisible(visible); + menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(visible); + menu.findItem(MENU_CACHES_AROUND).setVisible(visible); menu.findItem(MENU_CLEAR_HISTORY).setEnabled(!getHistoryOfSearchedLocations().isEmpty()); } catch (Exception e) { -- cgit v1.1