diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java
index 1c7a2fc4..0c38a56f 100644
--- a/src/de/schildbach/pte/AbstractEfaProvider.java
+++ b/src/de/schildbach/pte/AbstractEfaProvider.java
@@ -1476,7 +1476,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
protected void appendLocation(final StringBuilder uri, final Location location, final String paramSuffix)
{
- if ((location.type == LocationType.POI || location.type == LocationType.ADDRESS) && location.lat != 0 && location.lon != 0)
+ if ((location.type == LocationType.POI || location.type == LocationType.ADDRESS) && location.hasLocation())
{
uri.append("&type_").append(paramSuffix).append("=coord");
uri.append("&name_").append(paramSuffix).append("=")
diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java
index 4a003dd0..8bea9887 100644
--- a/src/de/schildbach/pte/AbstractHafasProvider.java
+++ b/src/de/schildbach/pte/AbstractHafasProvider.java
@@ -550,9 +550,9 @@ public abstract class AbstractHafasProvider implements NetworkProvider
{
if (location.type == LocationType.STATION && location.id != 0)
return "";
- if (location.type == LocationType.POI && (location.lat != 0 || location.lon != 0))
+ if (location.type == LocationType.POI && location.hasLocation())
return "";
- if (location.type == LocationType.ADDRESS && (location.lat != 0 || location.lon != 0))
+ if (location.type == LocationType.ADDRESS && location.hasLocation())
return "
";
throw new IllegalArgumentException("cannot handle: " + location.toDebugString());
@@ -562,7 +562,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
{
final StringBuilder builder = new StringBuilder();
builder.append("A=").append(locationType(location));
- if (location.lat != 0 || location.lon != 0)
+ if (location.hasLocation())
builder.append("@X=" + location.lon + "@Y=" + location.lat);
if (location.name != null)
builder.append("@G=" + location.name);
@@ -577,7 +577,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
return 1;
if (location.type == LocationType.POI)
return 4;
- if (location.type == LocationType.ADDRESS && (location.lat != 0 || location.lon != 0))
+ if (location.type == LocationType.ADDRESS && location.hasLocation())
return 16;
if (location.type == LocationType.ADDRESS && location.name != null)
return 2;
diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java
index f4db7b1a..bc24013d 100644
--- a/src/de/schildbach/pte/BvgProvider.java
+++ b/src/de/schildbach/pte/BvgProvider.java
@@ -253,7 +253,7 @@ public final class BvgProvider extends AbstractHafasProvider
private static final void appendLocationBvg(final StringBuilder uri, final Location location, final String paramSuffix, final String paramWgs)
{
- if (location.type == LocationType.ADDRESS && location.lat != 0 && location.lon != 0 && paramWgs != null)
+ if (location.type == LocationType.ADDRESS && location.hasLocation() && paramWgs != null)
{
uri.append("&").append(paramWgs).append("=").append(ParserUtils.urlEncode("A=16@X=" + location.lon + "@Y=" + location.lat));
}
diff --git a/src/de/schildbach/pte/dto/Location.java b/src/de/schildbach/pte/dto/Location.java
index 10c057f3..f884b976 100644
--- a/src/de/schildbach/pte/dto/Location.java
+++ b/src/de/schildbach/pte/dto/Location.java
@@ -70,6 +70,11 @@ public final class Location implements Serializable
this.name = null;
}
+ public final boolean hasLocation()
+ {
+ return lat != 0 || lon != 0;
+ }
+
@Override
public String toString()
{
diff --git a/src/de/schildbach/pte/dto/Station.java b/src/de/schildbach/pte/dto/Station.java
index aa5f5086..ffeaefc7 100644
--- a/src/de/schildbach/pte/dto/Station.java
+++ b/src/de/schildbach/pte/dto/Station.java
@@ -32,8 +32,8 @@ public final class Station
public final String[] lines;
public final int[][] lineColors;
- public Station(final int id, final String place, final String name, final String longName, final int latitude, final int longitude, final float distance,
- final String[] lines, final int[][] lineColors)
+ public Station(final int id, final String place, final String name, final String longName, final int latitude, final int longitude,
+ final float distance, final String[] lines, final int[][] lineColors)
{
this.id = id;
this.place = place;
@@ -46,6 +46,11 @@ public final class Station
this.lineColors = lineColors;
}
+ public final boolean hasLocation()
+ {
+ return latitude != 0 || longitude != 0;
+ }
+
@Override
public String toString()
{