diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java
index 4a42b11c..9fa9f3ee 100644
--- a/src/de/schildbach/pte/AbstractHafasProvider.java
+++ b/src/de/schildbach/pte/AbstractHafasProvider.java
@@ -268,7 +268,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
if (code.equals("K9380"))
return QueryConnectionsResult.TOO_CLOSE;
if (code.equals("K9220")) // Nearby to the given address stations could not be found
- return QueryConnectionsResult.NO_CONNECTIONS;
+ return QueryConnectionsResult.UNRESOLVABLE_ADDRESS;
if (code.equals("K890")) // No connections found
return QueryConnectionsResult.NO_CONNECTIONS;
throw new IllegalStateException("error " + code + " " + XmlPullUtil.attr(pp, "text"));
diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java
index 2e7b9f4c..a5d5c202 100644
--- a/src/de/schildbach/pte/BahnProvider.java
+++ b/src/de/schildbach/pte/BahnProvider.java
@@ -159,7 +159,7 @@ public final class BahnProvider extends AbstractHafasProvider
"", Pattern.DOTALL);
private static final Pattern P_ADDRESSES = Pattern.compile("", Pattern.DOTALL);
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern
- .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(leider konnte zu Ihrer Anfrage keine Verbindung gefunden werden)|(derzeit nur Auskünfte vom)|(zwischenzeitlich nicht mehr gespeichert)");
+ .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)|(zwischenzeitlich nicht mehr gespeichert)");
@Override
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
@@ -232,10 +232,12 @@ public final class BahnProvider extends AbstractHafasProvider
if (mError.group(1) != null)
return QueryConnectionsResult.TOO_CLOSE;
if (mError.group(2) != null)
- return QueryConnectionsResult.NO_CONNECTIONS;
+ return QueryConnectionsResult.UNRESOLVABLE_ADDRESS;
if (mError.group(3) != null)
- return QueryConnectionsResult.INVALID_DATE;
+ return QueryConnectionsResult.NO_CONNECTIONS;
if (mError.group(4) != null)
+ return QueryConnectionsResult.INVALID_DATE;
+ if (mError.group(5) != null)
throw new SessionExpiredException();
}
diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java
index 7bdeb82f..684c5b52 100644
--- a/src/de/schildbach/pte/BvgProvider.java
+++ b/src/de/schildbach/pte/BvgProvider.java
@@ -179,7 +179,7 @@ public final class BvgProvider implements NetworkProvider
private static final Pattern P_CHECK_FROM = Pattern.compile("Von:");
private static final Pattern P_CHECK_TO = Pattern.compile("Nach:");
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern
- .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)");
+ .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)");
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
final String products, final WalkSpeed walkSpeed) throws IOException
@@ -193,8 +193,10 @@ public final class BvgProvider implements NetworkProvider
if (mError.group(1) != null)
return QueryConnectionsResult.TOO_CLOSE;
if (mError.group(2) != null)
- return QueryConnectionsResult.NO_CONNECTIONS;
+ return QueryConnectionsResult.UNRESOLVABLE_ADDRESS;
if (mError.group(3) != null)
+ return QueryConnectionsResult.NO_CONNECTIONS;
+ if (mError.group(4) != null)
return QueryConnectionsResult.INVALID_DATE;
}
diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java
index 4931f404..018d4bcd 100644
--- a/src/de/schildbach/pte/RmvProvider.java
+++ b/src/de/schildbach/pte/RmvProvider.java
@@ -157,7 +157,8 @@ public class RmvProvider extends AbstractHafasProvider
private static final Pattern P_ADDRESSES = Pattern.compile(
".*?\\s*(.*?)\\s*.*?", Pattern.DOTALL);
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern.compile(
- "(mehrfach vorhanden oder identisch)|(keine Verbindung gefunden werden)|(derzeit nur Auskünfte vom)", Pattern.CASE_INSENSITIVE);
+ "(mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)",
+ Pattern.CASE_INSENSITIVE);
@Override
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
@@ -172,8 +173,10 @@ public class RmvProvider extends AbstractHafasProvider
if (mError.group(1) != null)
return QueryConnectionsResult.TOO_CLOSE;
if (mError.group(2) != null)
- return QueryConnectionsResult.NO_CONNECTIONS;
+ return QueryConnectionsResult.UNRESOLVABLE_ADDRESS;
if (mError.group(3) != null)
+ return QueryConnectionsResult.NO_CONNECTIONS;
+ if (mError.group(4) != null)
return QueryConnectionsResult.INVALID_DATE;
}