From 1bab623ea63d330902051b0aa124834976d140a2 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Thu, 7 Dec 2017 13:20:11 +0100 Subject: [PATCH] EFA: Handle STOP_INVALID error in mobile XML API. --- enabler/src/de/schildbach/pte/AbstractEfaProvider.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 90f8d055..3a4e88c3 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -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);