aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCParser.java10
-rw-r--r--main/src/cgeo/geocaching/ui/CacheListAdapter.java6
-rw-r--r--main/src/cgeo/geocaching/ui/DirectionImage.java4
3 files changed, 14 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java
index 659f0d0..1d40314 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCParser.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java
@@ -167,13 +167,15 @@ public abstract class GCParser {
// cache direction - image
if (Settings.getLoadDirImg()) {
final String direction = BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_DIRECTION_DISTANCE, false, 1, null, false);
- final String distance = BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_DIRECTION_DISTANCE, false, 2, null, false);
if (direction != null) {
cache.setDirectionImg(direction);
}
- if (distance != null) {
- cache.setDistance(DistanceParser.parseDistance(distance, Settings.isUseMetricUnits()));
- }
+ }
+
+ // cache distance - estimated distance for basic members
+ final String distance = BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_DIRECTION_DISTANCE, false, 2, null, false);
+ if (distance != null) {
+ cache.setDistance(DistanceParser.parseDistance(distance, Settings.isUseMetricUnits()));
}
// difficulty/terrain
diff --git a/main/src/cgeo/geocaching/ui/CacheListAdapter.java b/main/src/cgeo/geocaching/ui/CacheListAdapter.java
index 99ae405..7f4ceaa 100644
--- a/main/src/cgeo/geocaching/ui/CacheListAdapter.java
+++ b/main/src/cgeo/geocaching/ui/CacheListAdapter.java
@@ -18,6 +18,7 @@ import cgeo.geocaching.utils.AngleUtils;
import cgeo.geocaching.utils.Log;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import android.app.Activity;
@@ -443,10 +444,13 @@ public class CacheListAdapter extends ArrayAdapter<Geocache> {
holder.dirImg.setVisibility(View.GONE);
holder.direction.updateAzimuth(azimuth);
holder.direction.updateHeading(cache.getDirection());
- } else {
+ } else if (StringUtils.isNotBlank(cache.getDirectionImg())) {
holder.dirImg.setImageDrawable(DirectionImage.getDrawable(cache.getDirectionImg()));
holder.dirImg.setVisibility(View.VISIBLE);
holder.direction.setVisibility(View.GONE);
+ } else {
+ holder.dirImg.setVisibility(View.GONE);
+ holder.direction.setVisibility(View.GONE);
}
holder.favorite.setText(Integer.toString(cache.getFavoritePoints()));
diff --git a/main/src/cgeo/geocaching/ui/DirectionImage.java b/main/src/cgeo/geocaching/ui/DirectionImage.java
index df7275d..9de360c 100644
--- a/main/src/cgeo/geocaching/ui/DirectionImage.java
+++ b/main/src/cgeo/geocaching/ui/DirectionImage.java
@@ -3,6 +3,8 @@ package cgeo.geocaching.ui;
import cgeo.geocaching.StoredList;
import cgeo.geocaching.network.HtmlImage;
+import org.apache.commons.lang3.StringUtils;
+
import android.graphics.drawable.BitmapDrawable;
public class DirectionImage {
@@ -16,7 +18,7 @@ public class DirectionImage {
* @return a drawable with the arrow pointing into the right direction
*/
public static BitmapDrawable getDrawable(final String directionCode) {
- return htmlImage.getDrawable("http://www.geocaching.com/images/icons/compass/" + directionCode + ".gif");
+ return StringUtils.isNotBlank(directionCode) ? htmlImage.getDrawable("http://www.geocaching.com/images/icons/compass/" + directionCode + ".gif") : null;
}
}