aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/CacheMenuHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/CacheMenuHandler.java')
-rw-r--r--main/src/cgeo/geocaching/CacheMenuHandler.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/CacheMenuHandler.java b/main/src/cgeo/geocaching/CacheMenuHandler.java
index 0dc6444..fbd8771 100644
--- a/main/src/cgeo/geocaching/CacheMenuHandler.java
+++ b/main/src/cgeo/geocaching/CacheMenuHandler.java
@@ -3,8 +3,11 @@ package cgeo.geocaching;
import cgeo.calendar.CalendarAddon;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.apps.cache.navi.NavigationSelectionActionProvider;
+import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.AbstractUIFactory;
+import org.eclipse.jdt.annotation.NonNull;
+
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.support.v4.view.MenuItemCompat;
@@ -18,7 +21,11 @@ import android.view.MenuItem;
* TODO: replace by a fragment
*
*/
-public class CacheMenuHandler extends AbstractUIFactory {
+public final class CacheMenuHandler extends AbstractUIFactory {
+
+ private CacheMenuHandler() {
+ // utility class
+ }
/**
* Methods to be implemented by the activity to react to the cache menu selections.
@@ -33,7 +40,7 @@ public class CacheMenuHandler extends AbstractUIFactory {
}
- public static boolean onMenuItemSelected(final MenuItem item, final CacheMenuHandler.ActivityInterface activityInterface, final Geocache cache) {
+ public static boolean onMenuItemSelected(final MenuItem item, @NonNull final CacheMenuHandler.ActivityInterface activityInterface, final Geocache cache) {
assert activityInterface instanceof Activity || activityInterface instanceof Fragment;
final Activity activity;
if (activityInterface instanceof Activity) {
@@ -85,7 +92,8 @@ public class CacheMenuHandler extends AbstractUIFactory {
menu.findItem(R.id.menu_navigate).setVisible(hasCoords);
menu.findItem(R.id.menu_caches_around).setVisible(hasCoords && cache.supportsCachesAround());
menu.findItem(R.id.menu_calendar).setVisible(cache.canBeAddedToCalendar());
- menu.findItem(R.id.menu_show_in_browser).setVisible(cache.canOpenInBrowser());
+ menu.findItem(R.id.menu_log_visit).setVisible(cache.supportsLogging() && !Settings.getLogOffline());
+ menu.findItem(R.id.menu_log_visit_offline).setVisible(cache.supportsLogging() && Settings.getLogOffline());
menu.findItem(R.id.menu_default_navigation).setTitle(NavigationAppFactory.getDefaultNavigationApplication().getName());