From 80bf4445722190f96c1a017efc2e841ce33d4d45 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Wed, 11 Feb 2015 23:16:55 +0100 Subject: new: show hint in compass and map --- main/res/menu/compass_activity_options.xml | 5 +++++ main/res/menu/map_activity.xml | 6 ++++++ main/res/values/changelog_master.xml | 1 + main/res/values/strings.xml | 1 + main/src/cgeo/geocaching/CompassActivity.java | 8 ++++++++ main/src/cgeo/geocaching/maps/CGeoMap.java | 7 +++++++ 6 files changed, 28 insertions(+) diff --git a/main/res/menu/compass_activity_options.xml b/main/res/menu/compass_activity_options.xml index d70c637..d3887af 100644 --- a/main/res/menu/compass_activity_options.xml +++ b/main/res/menu/compass_activity_options.xml @@ -9,6 +9,11 @@ app:showAsAction="ifRoom|withText"> + + + + Add Waypoint Hint + No hint available Logbook Friends/Own Logs Loading cache details… diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java index 27dbb4a..a79d270 100644 --- a/main/src/cgeo/geocaching/CompassActivity.java +++ b/main/src/cgeo/geocaching/CompassActivity.java @@ -203,6 +203,9 @@ public class CompassActivity extends AbstractActionBarActivity { case R.id.menu_compass_cache: setTarget(cache); return true; + case R.id.menu_hint: + showHint(); + return true; default: if (LoggingUI.onMenuItemSelected(item, this, cache)) { return true; @@ -218,6 +221,11 @@ public class CompassActivity extends AbstractActionBarActivity { return super.onOptionsItemSelected(item); } + private void showHint() { + final String hint = cache.getHint(); + showToast(StringUtils.defaultString(hint, getString(R.string.cache_hint_not_available))); + } + private void setTarget(@NonNull final Geopoint coords, final String newDescription) { setDestCoords(coords); setTargetDescription(newDescription); diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java index 70d8bb8..467a02f 100644 --- a/main/src/cgeo/geocaching/maps/CGeoMap.java +++ b/main/src/cgeo/geocaching/maps/CGeoMap.java @@ -682,6 +682,7 @@ public class CGeoMap extends AbstractMap implements ViewFactory { default: // DETAILED menu.findItem(R.id.menu_strategy_detailed).setChecked(true); } + menu.findItem(R.id.menu_hint).setVisible(mapMode == MapMode.SINGLE); } catch (final RuntimeException e) { Log.e("CGeoMap.onPrepareOptionsMenu", e); } @@ -785,6 +786,12 @@ public class CGeoMap extends AbstractMap implements ViewFactory { Settings.setLiveMapStrategy(Strategy.DETAILED); return true; } + case R.id.menu_hint: + if (caches.size() == 1) { + final String hint = caches.iterator().next().getHint(); + ActivityMixin.showToast(getActivity(), StringUtils.defaultString(hint, getActivity().getString(R.string.cache_hint_not_available))); + } + return true; default: final MapSource mapSource = MapProviderFactory.getMapSource(id); if (mapSource != null) { -- cgit v1.1