aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authortriakcz <kunc88@gmail.com>2012-12-23 22:08:42 +0100
committertriakcz <kunc88@gmail.com>2012-12-23 22:08:42 +0100
commit7ddcf06c583117fb84846793bbf368f6f44f487c (patch)
tree6abe5460d02cb58d63fc08bdfbed5e29f9212618 /main
parentc9a1bffb986dfd16193054de7f77d78b7291d0cf (diff)
downloadcgeo-7ddcf06c583117fb84846793bbf368f6f44f487c.zip
cgeo-7ddcf06c583117fb84846793bbf368f6f44f487c.tar.gz
cgeo-7ddcf06c583117fb84846793bbf368f6f44f487c.tar.bz2
Disabling local modification of coords for non-multi and non-mystery caches
Diffstat (limited to 'main')
-rw-r--r--main/res/layout/waypoint_new.xml11
-rw-r--r--main/src/cgeo/geocaching/EditWaypointActivity.java20
2 files changed, 18 insertions, 13 deletions
diff --git a/main/res/layout/waypoint_new.xml b/main/res/layout/waypoint_new.xml
index d6d6463..466ef57 100644
--- a/main/res/layout/waypoint_new.xml
+++ b/main/res/layout/waypoint_new.xml
@@ -91,9 +91,11 @@
android:singleLine="false" />
<LinearLayout
+ android:id="@+id/setAsCacheCoordsLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal" >
+ android:orientation="horizontal"
+ android:visibility="gone" >
<CheckBox
android:id="@+id/setAsCacheCoordsCheckBox"
@@ -108,15 +110,16 @@
</LinearLayout>
<LinearLayout
+ android:id="@+id/uploadCoordsToWebsiteLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal" >
+ android:orientation="horizontal"
+ android:visibility="gone" >
<CheckBox
android:id="@+id/uploadCoordsToWebsiteCheckBox"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="gone" />
+ android:layout_height="wrap_content" />
<TextView
android:layout_width="fill_parent"
diff --git a/main/src/cgeo/geocaching/EditWaypointActivity.java b/main/src/cgeo/geocaching/EditWaypointActivity.java
index 9acc9ed..ea3a966 100644
--- a/main/src/cgeo/geocaching/EditWaypointActivity.java
+++ b/main/src/cgeo/geocaching/EditWaypointActivity.java
@@ -81,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) {
@@ -160,10 +160,8 @@ public class EditWaypointActivity extends AbstractActivity {
if (geocode != null) {
cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
- if (cache != null && (cache.getType() == CacheType.MYSTERY || cache.getType() == CacheType.MULTI)) {
- IConnector con = ConnectorFactory.getConnector(geocode);
- setUploadingCheckBoxVisibleByConnector(con);
- }
+ IConnector con = ConnectorFactory.getConnector(geocode);
+ setCoordsCheckBoxesVisibility(con, cache);
}
initializeDistanceUnitSelector();
@@ -171,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);
}
}