From 976e5567d7cbf5597d39733b33e6bdafef04d085 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 9 Dec 2016 19:53:39 -0200 Subject: [PATCH] AbstractNavitiaProvider: Handle section type 'on_demand_transport'. --- .../src/de/schildbach/pte/AbstractNavitiaProvider.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java b/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java index 9e6c16b1..3741abb5 100644 --- a/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java @@ -400,7 +400,7 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { } } - private Line parseLineFromSection(final JSONObject section) throws IOException { + private Line parseLineFromSection(final JSONObject section, final SectionType type) throws IOException { try { final JSONArray links = section.getJSONArray("links"); String lineId = null; @@ -414,7 +414,8 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { modeId = link.getString("id"); } - final Product product = parseLineProductFromMode(modeId); + final Product product = type == SectionType.ON_DEMAND_TRANSPORT ? Product.ON_DEMAND + : parseLineProductFromMode(modeId); final JSONObject displayInfo = section.getJSONObject("display_informations"); final String network = Strings.emptyToNull(displayInfo.optString("network")); final String code = displayInfo.getString("code"); @@ -477,9 +478,10 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { return new Individual(individualType, legInfo.departure, legInfo.departureTime, legInfo.arrival, legInfo.arrivalTime, legInfo.path, legInfo.distance); } + case ON_DEMAND_TRANSPORT: case PUBLIC_TRANSPORT: { // Build line. - final Line line = parseLineFromSection(section); + final Line line = parseLineFromSection(section, sectionType); // Build destination. final JSONObject displayInfo = section.getJSONObject("display_informations");