aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorBananeweizen <Bananeweizen@gmx.de>2012-12-26 07:55:15 -0800
committerBananeweizen <Bananeweizen@gmx.de>2012-12-26 07:55:15 -0800
commit111924972f818d09e706e3d712707164f5bab13a (patch)
tree46422ff24d28b2859b42882b97076e16a1c1f1f3 /main/src
parenta92fb90678daa6964e0aad776eece7dacf523b1b (diff)
parent7ddcf06c583117fb84846793bbf368f6f44f487c (diff)
downloadcgeo-111924972f818d09e706e3d712707164f5bab13a.zip
cgeo-111924972f818d09e706e3d712707164f5bab13a.tar.gz
cgeo-111924972f818d09e706e3d712707164f5bab13a.tar.bz2
Merge pull request #2283 from triakcz/fix_2273
Fix #2273 Disable upload of coordinates for non multi/mystery caches
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/EditWaypointActivity.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/EditWaypointActivity.java b/main/src/cgeo/geocaching/EditWaypointActivity.java
index 001d73f..aa04a5a 100644
--- a/main/src/cgeo/geocaching/EditWaypointActivity.java
+++ b/main/src/cgeo/geocaching/EditWaypointActivity.java
@@ -4,6 +4,7 @@ import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.connector.ConnectorFactory;
import cgeo.geocaching.connector.IConnector;
+import cgeo.geocaching.enumerations.CacheType;
import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.enumerations.LoadFlags.SaveFlag;
import cgeo.geocaching.enumerations.WaypointType;
@@ -80,8 +81,8 @@ public class EditWaypointActivity extends AbstractActivity {
else {
((EditText) findViewById(R.id.note)).setText(StringUtils.trimToEmpty(waypoint.getNote()));
}
-
- setUploadingCheckBoxVisibleByConnector(ConnectorFactory.getConnector(geocode));
+ cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_ONLY);
+ setCoordsCheckBoxesVisibility(ConnectorFactory.getConnector(geocode), cache);
}
if (own) {
@@ -158,8 +159,9 @@ public class EditWaypointActivity extends AbstractActivity {
}
if (geocode != null) {
+ cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
IConnector con = ConnectorFactory.getConnector(geocode);
- setUploadingCheckBoxVisibleByConnector(con);
+ setCoordsCheckBoxesVisibility(con, cache);
}
initializeDistanceUnitSelector();
@@ -167,9 +169,13 @@ public class EditWaypointActivity extends AbstractActivity {
disableSuggestions((EditText) findViewById(R.id.distance));
}
- private void setUploadingCheckBoxVisibleByConnector(IConnector con) {
- if (con.supportsOwnCoordinates()) {
- findViewById(R.id.uploadCoordsToWebsiteCheckBox).setVisibility(View.VISIBLE);
+ private void setCoordsCheckBoxesVisibility(IConnector con, cgCache cache) {
+ if (cache != null && (cache.getType() == CacheType.MYSTERY || cache.getType() == CacheType.MULTI)) {
+ findViewById(R.id.setAsCacheCoordsLayout).setVisibility(View.VISIBLE);
+ findViewById(R.id.uploadCoordsToWebsiteLayout).setVisibility(con.supportsOwnCoordinates() ? View.VISIBLE : View.GONE);
+ } else {
+ findViewById(R.id.setAsCacheCoordsLayout).setVisibility(View.GONE);
+ findViewById(R.id.uploadCoordsToWebsiteLayout).setVisibility(View.GONE);
}
}