diff options
Diffstat (limited to 'main/src/cgeo/geocaching/connector')
10 files changed, 42 insertions, 51 deletions
diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java index 1a3048a..a0ed628 100644 --- a/main/src/cgeo/geocaching/connector/AbstractConnector.java +++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java @@ -4,10 +4,7 @@ import cgeo.geocaching.cgBase; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgSearch; import cgeo.geocaching.cgeoapplication; - -import android.os.Handler; - -import java.util.UUID; +import cgeo.geocaching.utils.CancellableHandler; public abstract class AbstractConnector implements IConnector { @@ -47,7 +44,7 @@ public abstract class AbstractConnector implements IConnector { } @Override - public UUID searchByGeocode(cgBase base, String geocode, String guid, cgeoapplication app, cgSearch search, int reason, Handler handler) { + public cgSearch searchByGeocode(cgBase base, String geocode, String guid, cgeoapplication app, cgSearch search, int reason, CancellableHandler handler) { return null; } diff --git a/main/src/cgeo/geocaching/connector/ConnectorFactory.java b/main/src/cgeo/geocaching/connector/ConnectorFactory.java index 790090f..a264bd8 100644 --- a/main/src/cgeo/geocaching/connector/ConnectorFactory.java +++ b/main/src/cgeo/geocaching/connector/ConnectorFactory.java @@ -42,7 +42,7 @@ public final class ConnectorFactory { } public static IConnector getConnector(cgCache cache) { - return getConnector(cache.geocode); + return getConnector(cache.getGeocode()); } public static IConnector getConnector(String geocode) { diff --git a/main/src/cgeo/geocaching/connector/GCConnector.java b/main/src/cgeo/geocaching/connector/GCConnector.java index 05c0218..f86aa28 100644 --- a/main/src/cgeo/geocaching/connector/GCConnector.java +++ b/main/src/cgeo/geocaching/connector/GCConnector.java @@ -8,16 +8,15 @@ import cgeo.geocaching.cgCache; import cgeo.geocaching.cgCacheWrap; import cgeo.geocaching.cgSearch; import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.utils.CancellableHandler; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import android.os.Handler; import android.util.Log; import java.util.ArrayList; import java.util.List; -import java.util.UUID; public class GCConnector extends AbstractConnector implements IConnector { @@ -33,8 +32,8 @@ public class GCConnector extends AbstractConnector implements IConnector { @Override public String getCacheUrl(cgCache cache) { - // it would also be possible to use "http://www.geocaching.com/seek/cache_details.aspx?wp=" + cache.geocode; - return "http://coord.info/" + cache.geocode; + // it would also be possible to use "http://www.geocaching.com/seek/cache_details.aspx?wp=" + cache.getGeocode(); + return "http://coord.info/" + cache.getGeocode(); } @Override @@ -68,7 +67,7 @@ public class GCConnector extends AbstractConnector implements IConnector { } @Override - public UUID searchByGeocode(final cgBase base, String geocode, final String guid, final cgeoapplication app, final cgSearch search, final int reason, final Handler handler) { + public cgSearch searchByGeocode(final cgBase base, String geocode, final String guid, final cgeoapplication app, final cgSearch search, final int reason, final CancellableHandler handler) { final Parameters params = new Parameters("decrypt", "y"); if (StringUtils.isNotBlank(geocode)) { params.put("wp", geocode); @@ -102,7 +101,7 @@ public class GCConnector extends AbstractConnector implements IConnector { cacheList.clear(); - return search.getCurrentId(); + return search; } Log.e(Settings.tag, "cgeoBase.searchByGeocode: No data from server"); @@ -128,6 +127,6 @@ public class GCConnector extends AbstractConnector implements IConnector { final List<cgCache> cacheList = cgBase.filterSearchResults(search, caches, false, false, null); app.addSearch(search, cacheList, true, reason); - return search.getCurrentId(); + return search; } } diff --git a/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java b/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java index 58f4743..ef74f6a 100644 --- a/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java +++ b/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java @@ -13,7 +13,7 @@ public class GeocachingAustraliaConnector extends AbstractConnector implements I @Override public String getCacheUrl(final cgCache cache) { - return "http://" + getHost() + "/cache/" + cache.geocode; + return "http://" + getHost() + "/cache/" + cache.getGeocode(); } @Override diff --git a/main/src/cgeo/geocaching/connector/GeopeitusConnector.java b/main/src/cgeo/geocaching/connector/GeopeitusConnector.java index 6db0da6..be77705 100644 --- a/main/src/cgeo/geocaching/connector/GeopeitusConnector.java +++ b/main/src/cgeo/geocaching/connector/GeopeitusConnector.java @@ -13,7 +13,7 @@ public class GeopeitusConnector extends AbstractConnector implements IConnector @Override public String getCacheUrl(final cgCache cache) { - return "http://" + getHost() + "/aare/" + StringUtils.stripStart(cache.geocode.substring(2), "0"); + return "http://" + getHost() + "/aare/" + StringUtils.stripStart(cache.getGeocode().substring(2), "0"); } @Override diff --git a/main/src/cgeo/geocaching/connector/IConnector.java b/main/src/cgeo/geocaching/connector/IConnector.java index 68c9db6..89a94a1 100644 --- a/main/src/cgeo/geocaching/connector/IConnector.java +++ b/main/src/cgeo/geocaching/connector/IConnector.java @@ -4,10 +4,7 @@ import cgeo.geocaching.cgBase; import cgeo.geocaching.cgCache; import cgeo.geocaching.cgSearch; import cgeo.geocaching.cgeoapplication; - -import android.os.Handler; - -import java.util.UUID; +import cgeo.geocaching.utils.CancellableHandler; public interface IConnector { /** @@ -78,5 +75,5 @@ public interface IConnector { */ public boolean supportsCachesAround(); - public UUID searchByGeocode(final cgBase base, final String geocode, final String guid, final cgeoapplication app, final cgSearch search, final int reason, final Handler handler); + public cgSearch searchByGeocode(final cgBase base, final String geocode, final String guid, final cgeoapplication app, final cgSearch search, final int reason, final CancellableHandler handler); } diff --git a/main/src/cgeo/geocaching/connector/OXConnector.java b/main/src/cgeo/geocaching/connector/OXConnector.java index 78d60b7..9ffff5c 100644 --- a/main/src/cgeo/geocaching/connector/OXConnector.java +++ b/main/src/cgeo/geocaching/connector/OXConnector.java @@ -17,7 +17,7 @@ public class OXConnector extends AbstractConnector implements IConnector { @Override public String getCacheUrl(cgCache cache) { - return "http://www.opencaching.com/#!geocache/" + cache.geocode; + return "http://www.opencaching.com/#!geocache/" + cache.getGeocode(); } @Override diff --git a/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java b/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java index 6334973..8660d2a 100644 --- a/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java +++ b/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java @@ -7,12 +7,10 @@ import cgeo.geocaching.cgCacheWrap; import cgeo.geocaching.cgSearch; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.connector.IConnector; +import cgeo.geocaching.utils.CancellableHandler; import cgeo.geocaching.utils.CryptUtils; -import android.os.Handler; - import java.util.List; -import java.util.UUID; public class ApiOpenCachingConnector extends OpenCachingConnector implements IConnector { @@ -39,7 +37,7 @@ public class ApiOpenCachingConnector extends OpenCachingConnector implements ICo } @Override - public UUID searchByGeocode(final cgBase base, final String geocode, final String guid, final cgeoapplication app, final cgSearch search, final int reason, final Handler handler) { + public cgSearch searchByGeocode(final cgBase base, final String geocode, final String guid, final cgeoapplication app, final cgSearch search, final int reason, final CancellableHandler handler) { final cgCache cache = OkapiClient.getCache(geocode); if (cache == null) { return null; @@ -50,6 +48,6 @@ public class ApiOpenCachingConnector extends OpenCachingConnector implements ICo final List<cgCache> cacheList = cgBase.filterSearchResults(search, caches, false, false, null); app.addSearch(search, cacheList, true, reason); - return search.getCurrentId(); + return search; } } diff --git a/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java b/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java index 30c1673..7c35088 100644 --- a/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java @@ -69,8 +69,8 @@ final public class OkapiClient { final cgCache cache = parseCache(data); - cache.updated = new Date().getTime(); - cache.detailedUpdate = new Date().getTime(); + cache.setUpdated(new Date().getTime()); + cache.setDetailedUpdate(new Date().getTime()); return cache; } @@ -78,34 +78,34 @@ final public class OkapiClient { private static cgCache parseCache(final JSONObject response) { final cgCache cache = new cgCache(); try { - cache.geocode = response.getString(CACHE_CODE); - cache.name = response.getString(CACHE_NAME); + cache.setGeocode(response.getString(CACHE_CODE)); + cache.setName(response.getString(CACHE_NAME)); // not used: names setLocation(cache, response.getString(CACHE_LOCATION)); - cache.type = getCacheType(response.getString(CACHE_TYPE)); + cache.setCacheType(CacheType.getById(getCacheType(response.getString(CACHE_TYPE)))); final String status = response.getString(CACHE_STATUS); - cache.disabled = status.equalsIgnoreCase("Temporarily unavailable"); - cache.archived = status.equalsIgnoreCase("Archived"); + cache.setDisabled(status.equalsIgnoreCase("Temporarily unavailable")); + cache.setArchived(status.equalsIgnoreCase("Archived")); // not used: url final JSONObject owner = response.getJSONObject(CACHE_OWNER); - cache.owner = parseUser(owner); + cache.setOwner(parseUser(owner)); - cache.logCounts.put(cgBase.LOG_FOUND_IT, response.getInt(CACHE_FOUNDS)); - cache.logCounts.put(cgBase.LOG_DIDNT_FIND_IT, response.getInt(CACHE_NOTFOUNDS)); - cache.size = getCacheSize(response); - cache.difficulty = (float) response.getDouble(CACHE_DIFFICULTY); - cache.terrain = (float) response.getDouble(CACHE_TERRAIN); + cache.getLogCounts().put(cgBase.LOG_FOUND_IT, response.getInt(CACHE_FOUNDS)); + cache.getLogCounts().put(cgBase.LOG_DIDNT_FIND_IT, response.getInt(CACHE_NOTFOUNDS)); + cache.setSize(getCacheSize(response)); + cache.setDifficulty((float) response.getDouble(CACHE_DIFFICULTY)); + cache.setTerrain((float) response.getDouble(CACHE_TERRAIN)); if (response.has(CACHE_RATING) && !isNull(response.getString(CACHE_RATING))) { - cache.rating = (float) response.getDouble(CACHE_RATING); + cache.setRating((float) response.getDouble(CACHE_RATING)); } - cache.votes = response.getInt(CACHE_VOTES); + cache.setVotes(response.getInt(CACHE_VOTES)); - cache.favouriteCnt = response.getInt(CACHE_RECOMMENDATIONS); + cache.setFavouriteCnt(response.getInt(CACHE_RECOMMENDATIONS)); // not used: req_password cache.setDescription(response.getString(CACHE_DESCRIPTION)); - cache.hint = Html.fromHtml(response.getString(CACHE_HINT)).toString(); + cache.setHint(Html.fromHtml(response.getString(CACHE_HINT)).toString()); // not used: hints final JSONArray images = response.getJSONArray(CACHE_IMAGES); @@ -117,18 +117,18 @@ final public class OkapiClient { if (imageResponse.getBoolean(CACHE_IMAGE_IS_SPOILER)) { image = new cgImage(); image.title = imageResponse.getString(CACHE_IMAGE_CAPTION); - image.url = absoluteUrl(imageResponse.getString(CACHE_IMAGE_URL), cache.geocode); - if (cache.spoilers == null) { - cache.spoilers = new ArrayList<cgImage>(); + image.url = absoluteUrl(imageResponse.getString(CACHE_IMAGE_URL), cache.getGeocode()); + if (cache.getSpoilers() == null) { + cache.setSpoilers(new ArrayList<cgImage>()); } - cache.spoilers.add(image); + cache.getSpoilers().add(image); } } } // not used: attrnames - cache.logs = parseLogs(response.getJSONArray(CACHE_LATEST_LOGS)); - cache.hidden = parseDate(response.getString(CACHE_HIDDEN)); + cache.setLogs(parseLogs(response.getJSONArray(CACHE_LATEST_LOGS))); + cache.setHidden(parseDate(response.getString(CACHE_HIDDEN))); } catch (JSONException e) { // TODO Auto-generated catch block @@ -204,7 +204,7 @@ final public class OkapiClient { final String latitude = StringUtils.substringBefore(location, "|"); final String longitude = StringUtils.substringAfter(location, "|"); // FIXME: the next line should be a setter at cgCache - cache.coords = GeopointParser.parse(latitude, longitude); + cache.setCoords(GeopointParser.parse(latitude, longitude)); } private static CacheSize getCacheSize(final JSONObject response) { diff --git a/main/src/cgeo/geocaching/connector/opencaching/OpenCachingConnector.java b/main/src/cgeo/geocaching/connector/opencaching/OpenCachingConnector.java index 273c4cd..039a9e7 100644 --- a/main/src/cgeo/geocaching/connector/opencaching/OpenCachingConnector.java +++ b/main/src/cgeo/geocaching/connector/opencaching/OpenCachingConnector.java @@ -30,7 +30,7 @@ public class OpenCachingConnector extends AbstractConnector implements IConnecto @Override public String getCacheUrl(cgCache cache) { - return "http://" + host + "/viewcache.php?wp=" + cache.geocode; + return "http://" + host + "/viewcache.php?wp=" + cache.getGeocode(); } @Override |
