diff options
Diffstat (limited to 'main/src/cgeo/geocaching/CacheMenuHandler.java')
-rw-r--r-- | main/src/cgeo/geocaching/CacheMenuHandler.java | 14 |
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()); |