From 05b5a56cd5d95bb2c410b71e67849bf0788d9b39 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sun, 12 Oct 2014 19:43:56 +0200 Subject: [PATCH] In mobile trips query (EFA), skip parsing of and make optional. --- .../schildbach/pte/AbstractEfaProvider.java | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index bb0d4822..23c7502e 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -3057,30 +3057,36 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider XmlPullUtil.skipExit(pp, "ls"); - XmlPullUtil.require(pp, "tcs"); + XmlPullUtil.optSkip(pp, "seqroutes"); final List fares; - - if (!pp.isEmptyElementTag()) + if (XmlPullUtil.test(pp, "tcs")) { - XmlPullUtil.enter(pp, "tcs"); - - fares = new ArrayList(2); - - while (XmlPullUtil.test(pp, "tc")) + if (!pp.isEmptyElementTag()) { - XmlPullUtil.enter(pp, "tc"); - // TODO fares - XmlPullUtil.skipExit(pp, "tc"); - } + XmlPullUtil.enter(pp, "tcs"); - XmlPullUtil.skipExit(pp, "tcs"); + fares = new ArrayList(2); + + while (XmlPullUtil.test(pp, "tc")) + { + XmlPullUtil.enter(pp, "tc"); + // TODO fares + XmlPullUtil.skipExit(pp, "tc"); + } + + XmlPullUtil.skipExit(pp, "tcs"); + } + else + { + fares = null; + + XmlPullUtil.next(pp); + } } else { fares = null; - - XmlPullUtil.next(pp); } final Trip trip = new Trip(tripId, firstDepartureLocation, lastArrivalLocation, legs, fares, null, numChanges);