diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 1a60afdc..d6932e3d 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -41,8 +41,12 @@ public final class BahnProvider implements NetworkProvider private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; - public boolean hasCapabilities(Capability... capabilities) + public boolean hasCapabilities(final Capability... capabilities) { + for (final Capability capability : capabilities) + if (capability == Capability.LOCATION_WGS84) + return false; + return true; } diff --git a/src/de/schildbach/pte/MvvProvider.java b/src/de/schildbach/pte/MvvProvider.java index b9728062..07572e45 100644 --- a/src/de/schildbach/pte/MvvProvider.java +++ b/src/de/schildbach/pte/MvvProvider.java @@ -42,7 +42,7 @@ public class MvvProvider implements NetworkProvider private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; private static final String ENCODING = "ISO-8859-1"; - public boolean hasCapabilities(Capability... capabilities) + public boolean hasCapabilities(final Capability... capabilities) { for (final Capability capability : capabilities) if (capability == Capability.NEARBY_STATIONS) @@ -122,7 +122,7 @@ public class MvvProvider implements NetworkProvider if (fromType == LocationType.WGS84) { - final String[] parts = from.split(","); + final String[] parts = from.split(",\\s*", 2); final double lat = Double.parseDouble(parts[0]); final double lon = Double.parseDouble(parts[1]); uri.append("&nameInfo_origin=").append(String.format("%2.5f:%2.5f", lon, lat)).append(":WGS84[DD.ddddd]"); @@ -146,7 +146,7 @@ public class MvvProvider implements NetworkProvider if (toType == LocationType.WGS84) { - final String[] parts = to.split(","); + final String[] parts = to.split(",\\s*", 2); final double lat = Double.parseDouble(parts[0]); final double lon = Double.parseDouble(parts[1]); uri.append("&nameInfo_destination=").append(String.format("%2.5f:%2.5f", lon, lat)).append(":WGS84[DD.ddddd]"); @@ -172,7 +172,7 @@ public class MvvProvider implements NetworkProvider { if (viaType == LocationType.WGS84) { - final String[] parts = via.split(","); + final String[] parts = via.split(",\\s*", 2); final double lat = Double.parseDouble(parts[0]); final double lon = Double.parseDouble(parts[1]); uri.append("&nameInfo_via=").append(String.format("%2.5f:%2.5f", lon, lat)).append(":WGS84[DD.ddddd]"); diff --git a/src/de/schildbach/pte/NetworkProvider.java b/src/de/schildbach/pte/NetworkProvider.java index 0f69b19d..b3ba99bc 100644 --- a/src/de/schildbach/pte/NetworkProvider.java +++ b/src/de/schildbach/pte/NetworkProvider.java @@ -30,7 +30,7 @@ public interface NetworkProvider { public enum Capability { - NEARBY_STATIONS, DEPARTURES, CONNECTIONS + NEARBY_STATIONS, DEPARTURES, CONNECTIONS, LOCATION_WGS84 } public enum LocationType diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java index 58ad154c..fa8d533f 100644 --- a/src/de/schildbach/pte/RmvProvider.java +++ b/src/de/schildbach/pte/RmvProvider.java @@ -44,6 +44,10 @@ public class RmvProvider implements NetworkProvider public boolean hasCapabilities(final Capability... capabilities) { + for (final Capability capability : capabilities) + if (capability == Capability.LOCATION_WGS84) + return false; + return true; } diff --git a/src/de/schildbach/pte/SbbProvider.java b/src/de/schildbach/pte/SbbProvider.java index c47f7e83..9fb1ca96 100644 --- a/src/de/schildbach/pte/SbbProvider.java +++ b/src/de/schildbach/pte/SbbProvider.java @@ -44,7 +44,7 @@ public class SbbProvider implements NetworkProvider public boolean hasCapabilities(final Capability... capabilities) { for (final Capability capability : capabilities) - if (capability == Capability.NEARBY_STATIONS) + if (capability == Capability.NEARBY_STATIONS || capability == Capability.LOCATION_WGS84) return false; return true; diff --git a/src/de/schildbach/pte/VbbProvider.java b/src/de/schildbach/pte/VbbProvider.java index f8fc4941..2999a80d 100644 --- a/src/de/schildbach/pte/VbbProvider.java +++ b/src/de/schildbach/pte/VbbProvider.java @@ -45,10 +45,10 @@ public final class VbbProvider implements NetworkProvider private static final String BVG_BASE_URL = "http://mobil.bvg.de"; - public boolean hasCapabilities(Capability... capabilities) + public boolean hasCapabilities(final Capability... capabilities) { for (final Capability capability : capabilities) - if (capability == Capability.NEARBY_STATIONS) + if (capability == Capability.NEARBY_STATIONS || capability == Capability.LOCATION_WGS84) return false; return true;