aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/cgeowaypoint.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/cgeowaypoint.java')
-rw-r--r--main/src/cgeo/geocaching/cgeowaypoint.java24
1 files changed, 11 insertions, 13 deletions
diff --git a/main/src/cgeo/geocaching/cgeowaypoint.java b/main/src/cgeo/geocaching/cgeowaypoint.java
index a96e1ab..a46a969 100644
--- a/main/src/cgeo/geocaching/cgeowaypoint.java
+++ b/main/src/cgeo/geocaching/cgeowaypoint.java
@@ -16,7 +16,6 @@ import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
@@ -210,20 +209,13 @@ public class cgeowaypoint extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_ID_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()).setIcon(android.R.drawable.ic_menu_compass); // default navigation tool
-
- SubMenu subMenu = menu.addSubMenu(1, MENU_ID_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_mapmode);
- addNavigationMenuItems(subMenu);
-
+ menu.add(0, MENU_ID_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_mapmode);
menu.add(0, MENU_ID_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(android.R.drawable.ic_menu_rotate); // caches around
menu.add(0, MENU_ID_OPEN_GEOCACHE, 0, res.getString(R.string.waypoint_menu_open_cache)).setIcon(android.R.drawable.ic_menu_mylocation); // open geocache
return true;
}
- private void addNavigationMenuItems(Menu menu) {
- NavigationAppFactory.addMenuItems(menu, this);
- }
-
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
@@ -255,9 +247,11 @@ public class cgeowaypoint extends AbstractActivity {
} else if (menuItem == MENU_ID_OPEN_GEOCACHE) {
goToGeocache();
return true;
+ } else if (menuItem == MENU_ID_NAVIGATION) {
+ NavigationAppFactory.showNavigationMenu(geo, this, null, null, waypoint, null);
+ return true;
}
-
- return NavigationAppFactory.onMenuItemSelected(item, geo, this, null, null, waypoint, null);
+ return false;
}
private void cachesAround() {
@@ -351,12 +345,16 @@ public class cgeowaypoint extends AbstractActivity {
ContextMenuInfo menuInfo) {
if (navigationPossible()) {
menu.setHeaderTitle(res.getString(R.string.cache_menu_navigate));
- addNavigationMenuItems(menu);
+ NavigationAppFactory.addMenuItems(menu, this);
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
- return onOptionsItemSelected(item);
+ boolean handled = onOptionsItemSelected(item);
+ if (handled) {
+ return true;
+ }
+ return NavigationAppFactory.onMenuItemSelected(item, geo, this, null, null, waypoint, null);
}
}