aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java1
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCParser.java32
-rw-r--r--main/src/cgeo/geocaching/export/GpxExport.java10
3 files changed, 15 insertions, 28 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index a9b6bf7..7b799b0 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -1686,6 +1686,7 @@ public class CacheDetailActivity extends AbstractActivity {
Button buttonRemove = (Button) view.findViewById(R.id.remove_from_watchlist);
TextView text = (TextView) view.findViewById(R.id.watchlist_text);
+ //TODO: We already have cache.isOwn(). Those 2 should be combined.
boolean userIsOwner = StringUtils.equals(cache.getOwnerReal(), Settings.getUsername());
if (cache.isOnWatchlist() || userIsOwner) {
diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java
index 936ce6c..32b7c05 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCParser.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java
@@ -1178,24 +1178,27 @@ public abstract class GCParser {
* @return <code>false</code> if an error occurred, <code>true</code> otherwise
*/
static boolean addToFavorites(final cgCache cache) {
+ return changeFavorite(cache, true);
+ }
+ private static boolean changeFavorite(final cgCache cache, final boolean add) {
final String page = requestHtmlPage(cache.getGeocode(), null, "n", "0");
final String userToken = BaseUtils.getMatch(page, GCConstants.PATTERN_USERTOKEN, "");
if (StringUtils.isEmpty(userToken)) {
return false;
}
- final String uri = "http://www.geocaching.com/datastore/favorites.svc/update?u=" + userToken + "&f=true";
+ final String uri = "http://www.geocaching.com/datastore/favorites.svc/update?u=" + userToken + "&f=" + Boolean.toString(add);
HttpResponse response = Network.postRequest(uri, null);
if (response != null && response.getStatusLine().getStatusCode() == 200) {
- Log.i("GCParser.addToFavorites: cache added to favorites");
- cache.setFavorite(true);
- cache.setFavoritePoints(cache.getFavoritePoints() + 1);
+ Log.i("GCParser.changeFavorite: cache added/removed to/from favorites");
+ cache.setFavorite(add);
+ cache.setFavoritePoints(cache.getFavoritePoints() + (add ? 1 : -1));
return true;
}
- Log.e("GCParser.addToFavorites: cache not added to favorites");
+ Log.e("GCParser.changeFavorite: cache not added/removed to/from favorites");
return false;
}
@@ -1207,24 +1210,7 @@ public abstract class GCParser {
* @return <code>false</code> if an error occurred, <code>true</code> otherwise
*/
static boolean removeFromFavorites(final cgCache cache) {
- final String page = requestHtmlPage(cache.getGeocode(), null, "n", "0");
- final String userToken = BaseUtils.getMatch(page, GCConstants.PATTERN_USERTOKEN, "");
- if (StringUtils.isEmpty(userToken)) {
- return false;
- }
-
- final String uri = "http://www.geocaching.com/datastore/favorites.svc/update?u=" + userToken + "&f=false";
-
- HttpResponse response = Network.postRequest(uri, null);
-
- if (response != null && response.getStatusLine().getStatusCode() == 200) {
- Log.i("GCParser.removeFromFavorites: cache removed from favorites");
- cache.setFavorite(false);
- cache.setFavoritePoints(cache.getFavoritePoints() - 1);
- return true;
- }
- Log.e("GCParser.removeFromFavorites: cache not removed from favorites");
- return false;
+ return changeFavorite(cache, false);
}
/**
diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java
index e7579f3..554db2c 100644
--- a/main/src/cgeo/geocaching/export/GpxExport.java
+++ b/main/src/cgeo/geocaching/export/GpxExport.java
@@ -121,7 +121,7 @@ class GpxExport extends AbstractExport {
gpx.write("</sym>");
gpx.write("<type>");
- gpx.write(StringEscapeUtils.escapeXml("Geocache|" + cache.getType().toString())); //TODO: Correct (english) string
+ gpx.write(StringEscapeUtils.escapeXml("Geocache|" + cache.getType().id));
gpx.write("</type>");
gpx.write("<groundspeak:cache ");
@@ -145,11 +145,11 @@ class GpxExport extends AbstractExport {
gpx.write("</groundspeak:owner>");
gpx.write("<groundspeak:type>");
- gpx.write(StringEscapeUtils.escapeXml(cache.getType().toString())); //TODO: Correct (english) string
+ gpx.write(StringEscapeUtils.escapeXml(cache.getType().id));
gpx.write("</groundspeak:type>");
gpx.write("<groundspeak:container>");
- gpx.write(StringEscapeUtils.escapeXml(cache.getSize().toString())); //TODO: Correct (english) string
+ gpx.write(StringEscapeUtils.escapeXml(cache.getSize().id));
gpx.write("</groundspeak:container>");
if (cache.hasAttributes()) {
@@ -269,11 +269,11 @@ class GpxExport extends AbstractExport {
gpx.write("</desc>");
gpx.write("<sym>");
- gpx.write(StringEscapeUtils.escapeXml(wp.getWaypointType().toString()));
+ gpx.write(StringEscapeUtils.escapeXml(wp.getWaypointType().toString())); //TODO: Correct identifier string
gpx.write("</sym>");
gpx.write("<type>Waypoint|");
- gpx.write(StringEscapeUtils.escapeXml(wp.getWaypointType().toString()));
+ gpx.write(StringEscapeUtils.escapeXml(wp.getWaypointType().toString())); //TODO: Correct identifier string
gpx.write("</type>");
gpx.write("</wpt>");