aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/res/menu/map_activity.xml5
-rw-r--r--main/res/values/strings.xml2
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java20
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java2
4 files changed, 24 insertions, 5 deletions
diff --git a/main/res/menu/map_activity.xml b/main/res/menu/map_activity.xml
index df8fe09..d81a49b 100644
--- a/main/res/menu/map_activity.xml
+++ b/main/res/menu/map_activity.xml
@@ -39,6 +39,11 @@
android:title="@string/map_circles_hide">
</item>
<item
+ android:id="@+id/menu_mycaches_mode"
+ android:icon="@android:drawable/ic_menu_myplaces"
+ android:title="@string/map_mycaches_hide">
+ </item>
+ <item
android:id="@+id/menu_theme_mode"
android:icon="@drawable/ic_menu_preferences"
android:title="@string/map_theme_select">
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index c0bbded..22e5fbe 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -786,6 +786,8 @@
<string name="map_trail_hide">Hide trail</string>
<string name="map_circles_show">Show circles</string>
<string name="map_circles_hide">Hide circles</string>
+ <string name="map_mycaches_show">Show own/found caches</string>
+ <string name="map_mycaches_hide">Hide own/found caches</string>
<string name="map_theme_builtin">Default</string>
<string name="map_theme_select">Select map theme</string>
<string name="map_live_enable">Enable live</string>
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index 007f707..b370afb 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -182,7 +182,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
/** Live mode enabled for map. **/
private boolean isLiveEnabled;
// other things
- private boolean liveChanged = false; // previous state for loadTimer
+ private boolean markersInvalidated = false; // previous state for loadTimer
private boolean centered = false; // if map is already centered
private boolean alreadyCentered = false; // -""- for setting my location
private static Set<String> dirtyCaches = null;
@@ -571,6 +571,13 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
item.setTitle(res.getString(R.string.map_live_enable));
}
+ item = menu.findItem(R.id.menu_mycaches_mode); // own & found caches
+ if (Settings.isExcludeMyCaches()) {
+ item.setTitle(res.getString(R.string.map_mycaches_show));
+ } else {
+ item.setTitle(res.getString(R.string.map_mycaches_hide));
+ }
+
final Set<String> geocodesInViewport = getGeocodesForCachesInViewport();
menu.findItem(R.id.menu_store_caches).setEnabled(!isLoading() && CollectionUtils.isNotEmpty(geocodesInViewport) && new SearchResult(geocodesInViewport).hasUnsavedCaches());
@@ -622,7 +629,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
if (mapMode == MapMode.LIVE) {
Settings.setLiveMap(isLiveEnabled);
}
- liveChanged = true;
+ markersInvalidated = true;
lastSearchResult = null;
searchIntent = null;
ActivityMixin.invalidateOptionsMenu(activity);
@@ -670,6 +677,11 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
mapView.repaintRequired(overlayCaches);
ActivityMixin.invalidateOptionsMenu(activity);
return true;
+ case R.id.menu_mycaches_mode:
+ Settings.setExcludeMine(!Settings.isExcludeMyCaches());
+ markersInvalidated = true;
+ ActivityMixin.invalidateOptionsMenu(activity);
+ return true;
case R.id.menu_theme_mode:
selectMapTheme();
return true;
@@ -1018,7 +1030,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
// check if map moved or zoomed
//TODO Portree Use Rectangle inside with bigger search window. That will stop reloading on every move
- final boolean moved = liveChanged || (isLiveEnabled && !downloaded) || (viewport == null) || zoomNow != zoom ||
+ final boolean moved = markersInvalidated || (isLiveEnabled && !downloaded) || (viewport == null) || zoomNow != zoom ||
(mapMoved(viewport, viewportNow) && (cachesCnt <= 0 || CollectionUtils.isEmpty(caches) || !viewport.includes(viewportNow)));
// update title on any change
@@ -1029,7 +1041,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
// save new values
if (moved) {
- liveChanged = false;
+ markersInvalidated = false;
long currentTime = System.currentTimeMillis();
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index 08f30af..e44f9c0 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -934,7 +934,7 @@ public final class Settings {
putBoolean(R.string.pref_excludedisabled, exclude);
}
- static void setExcludeMine(final boolean exclude) {
+ public static void setExcludeMine(final boolean exclude) {
putBoolean(R.string.pref_excludemine, exclude);
}