aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/NavigateAnyPointActivity.java')
-rw-r--r--main/src/cgeo/geocaching/NavigateAnyPointActivity.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
index 48e0c17..2591987 100644
--- a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
+++ b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
@@ -5,6 +5,7 @@ import butterknife.InjectView;
import butterknife.Optional;
import cgeo.geocaching.activity.AbstractActionBarActivity;
+import cgeo.geocaching.activity.INavigationSource;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.geopoint.DistanceParser;
import cgeo.geocaching.geopoint.Geopoint;
@@ -13,6 +14,7 @@ import cgeo.geocaching.sensors.GeoDirHandler;
import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.AbstractViewHolder;
+import cgeo.geocaching.ui.NavigationActionProvider;
import cgeo.geocaching.ui.dialog.CoordinatesInputDialog;
import cgeo.geocaching.ui.dialog.Dialogs;
import cgeo.geocaching.utils.Formatter;
@@ -24,6 +26,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
+import android.support.v4.view.MenuItemCompat;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
@@ -44,7 +47,7 @@ import android.widget.TextView;
import java.util.List;
-public class NavigateAnyPointActivity extends AbstractActionBarActivity implements CoordinatesInputDialog.CoordinateUpdate {
+public class NavigateAnyPointActivity extends AbstractActionBarActivity implements CoordinatesInputDialog.CoordinateUpdate, INavigationSource {
@InjectView(R.id.historyList) protected ListView historyListView;
@@ -313,7 +316,12 @@ public class NavigateAnyPointActivity extends AbstractActionBarActivity implemen
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.navigate_any_point_activity_options, menu);
- menu.findItem(R.id.menu_default_navigation).setTitle(NavigationAppFactory.getDefaultNavigationApplication().getName());
+ final MenuItem menuItem = menu.findItem(R.id.menu_default_navigation);
+ menuItem.setTitle(NavigationAppFactory.getDefaultNavigationApplication().getName());
+ final NavigationActionProvider navAction = (NavigationActionProvider) MenuItemCompat.getActionProvider(menuItem);
+ if (navAction != null) {
+ navAction.setNavigationSource(this);
+ }
return true;
}
@@ -540,4 +548,14 @@ public class NavigateAnyPointActivity extends AbstractActionBarActivity implemen
}
Settings.setAnyCoordinates(coords);
}
+
+ @Override
+ public void startDefaultNavigation() {
+ navigateTo();
+ }
+
+ @Override
+ public void startDefaultNavigation2() {
+ NavigationAppFactory.startDefaultNavigationApplication(2, this, getDestination());
+ }
}