EFA: Handle STOP_INVALID error in mobile XML API.

This commit is contained in:
Andreas Schildbach 2017-12-07 13:20:11 +01:00
parent 446e2d4ead
commit 1bab623ea6

View file

@ -1623,10 +1623,14 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider {
final String mod = XmlPullUtil.valueTag(pp, "mod");
final String co = XmlPullUtil.valueTag(pp, "co");
XmlPullUtil.optValueTag(pp, "u", null);
if ("-2000".equals(co)) { // STOP_INVALID
result.set(new QueryDeparturesResult(header, QueryDeparturesResult.Status.INVALID_STATION));
} else {
log.debug("EFA error: {} {}", co, mod);
result.set(new QueryDeparturesResult(header, QueryDeparturesResult.Status.SERVICE_DOWN));
}
XmlPullUtil.exit(pp, "err");
XmlPullUtil.exit(pp, "ers");
log.debug("EFA error: {} {}", co, mod);
result.set(new QueryDeparturesResult(header, QueryDeparturesResult.Status.SERVICE_DOWN));
} else if (XmlPullUtil.optEnter(pp, "dps")) {
final Calendar plannedDepartureTime = new GregorianCalendar(timeZone);
final Calendar predictedDepartureTime = new GregorianCalendar(timeZone);