diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-03-10 07:38:38 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-03-10 07:38:38 +0100 |
| commit | d40313cf48a9956487afd2b591b34d588bb4ae82 (patch) | |
| tree | 38cd2a6ed797fdcc0b4952f38611936792c3b192 | |
| parent | b297de18e81872e9725867ba4da4a9481aedfcbf (diff) | |
| parent | 22aa3e5e9d3b3064c4831cd6b112e14cc0e6b1db (diff) | |
| download | cgeo-d40313cf48a9956487afd2b591b34d588bb4ae82.zip cgeo-d40313cf48a9956487afd2b591b34d588bb4ae82.tar.gz cgeo-d40313cf48a9956487afd2b591b34d588bb4ae82.tar.bz2 | |
Merge branch 'master' of https://Bananeweizen@github.com/cgeo/c-geo-opensource.git
| -rw-r--r-- | main/res/values-de/strings.xml | 2 | ||||
| -rwxr-xr-x | main/res/values/strings.xml | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/Settings.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgCache.java | 57 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoinit.java | 1 |
5 files changed, 42 insertions, 22 deletions
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index 229afde..e0de5d1 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -422,7 +422,7 @@ <string name="init_maptrail">Zeige Spur auf Karte</string> <string name="init_trackautovisit">Trackables automatisch auf \"besuchen\" setzen</string> <string name="init_sigautoinsert">Signatur automatisch einfügen</string> - <string name="init_loaddirectionimg">Richtungs-Grafik laden wenn nötig</string> + <string name="init_loaddirectionimg">Richtungs-Grafik laden wenn nötig (nur Basic Member)</string> <string name="init_default_navigation_tool">Standardnavigation</string> <string name="init_default_navigation_tool_description">Hier kannst du dein bevorzugtes Navigationswerkzeug festlegen.</string> <string name="init_default_navigation_tool_select">Wähle Werkzeug</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 8a33820..5b38e23 100755 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -423,7 +423,7 @@ <string name="init_maptrail">Show trail on Map</string> <string name="init_trackautovisit">Set trackables to \"Visited\" as a default</string> <string name="init_sigautoinsert">Insert signature automatically</string> - <string name="init_loaddirectionimg">Load direction-image if necessary</string> + <string name="init_loaddirectionimg">Load direction-image if necessary (only Basic Member)</string> <string name="init_default_navigation_tool">Default Navigation</string> <string name="init_default_navigation_tool_description">Here you can select your preferred navigation tool.</string> <string name="init_default_navigation_tool_select">Select tool</string> diff --git a/main/src/cgeo/geocaching/Settings.java b/main/src/cgeo/geocaching/Settings.java index 294521c..4949b62 100644 --- a/main/src/cgeo/geocaching/Settings.java +++ b/main/src/cgeo/geocaching/Settings.java @@ -415,7 +415,7 @@ public final class Settings { } public static boolean getLoadDirImg() { - return sharedPrefs.getBoolean(KEY_LOAD_DIRECTION_IMG, true); + return isPremiumMember() ? false : sharedPrefs.getBoolean(KEY_LOAD_DIRECTION_IMG, true); } public static void setGcCustomDate(final String format) { diff --git a/main/src/cgeo/geocaching/cgCache.java b/main/src/cgeo/geocaching/cgCache.java index 5fad72a..14f33af 100644 --- a/main/src/cgeo/geocaching/cgCache.java +++ b/main/src/cgeo/geocaching/cgCache.java @@ -1164,17 +1164,13 @@ public class cgCache implements ICache { finalDefined = true; } } else { // this is a waypoint being edited - deleteWaypoint(waypoint); - - waypoints.add(waypoint); - // when waypoint was edited, finalDefined may have changed. check all waypoints and set again - finalDefined = false; - for (cgWaypoint wp : waypoints) { - if (wp.isFinalWithCoords()) { - finalDefined = true; - break; - } + final int index = getWaypointIndex(waypoint); + if (index >= 0) { + waypoints.remove(index); } + waypoints.add(waypoint); + // when waypoint was edited, finalDefined may have changed + resetFinalDefined(); } if (saveToDatabase) { @@ -1197,6 +1193,19 @@ public class cgCache implements ICache { this.finalDefined = finalDefined; } + /** + * Reset <code>finalDefined</code> based on current list of stored waypoints + */ + private void resetFinalDefined() { + finalDefined = false; + for (cgWaypoint wp : waypoints) { + if (wp.isFinalWithCoords()) { + finalDefined = true; + break; + } + } + } + public boolean hasUserModifiedCoords() { return userModifiedCoords; } @@ -1248,13 +1257,7 @@ public class cgCache implements ICache { cgeoapplication.getInstance().removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); // Check status if Final is defined if (waypoint.isFinalWithCoords()) { - finalDefined = false; - for (cgWaypoint wp : waypoints) { - if (wp.isFinalWithCoords()) { - finalDefined = true; - break; - } - } + resetFinalDefined(); } return true; } @@ -1273,16 +1276,32 @@ public class cgCache implements ICache { return false; } + final int index = getWaypointIndex(waypoint); + if (index >= 0) { + return deleteWaypoint(index); + } + + return false; + } + + /** + * Find index of given <code>waypoint</code> in cache's <code>waypoints</code> list + * + * @param waypoint + * to find index for + * @return index in <code>waypoints</code> if found, else -1 + */ + private int getWaypointIndex(cgWaypoint waypoint) { int index = 0; for (cgWaypoint wp : waypoints) { if (wp.getId() == waypoint.getId()) { - return deleteWaypoint(index); + return index; } index++; } - return false; + return -1; } /** diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/cgeoinit.java index 90b0316..a8e660a 100644 --- a/main/src/cgeo/geocaching/cgeoinit.java +++ b/main/src/cgeo/geocaching/cgeoinit.java @@ -406,6 +406,7 @@ public class cgeoinit extends AbstractActivity { }); final CheckBox dirImgButton = (CheckBox) findViewById(R.id.loaddirectionimg); + dirImgButton.setEnabled(!Settings.isPremiumMember()); dirImgButton.setChecked(Settings.getLoadDirImg()); dirImgButton.setOnClickListener(new View.OnClickListener() { |
