AbstractHafasMobileProvider: Parse ticket lists in trip fares.

This commit is contained in:
Andreas Schildbach 2017-01-26 11:54:47 +01:00
parent 6fe713bbc6
commit 23d3e1f324

View file

@ -511,6 +511,19 @@ public abstract class AbstractHafasMobileProvider extends AbstractHafasProvider
for (int iFare = 0; iFare < fareList.length(); iFare++) {
final JSONObject jsonFare = fareList.getJSONObject(iFare);
final String name = jsonFare.getString("name");
final JSONArray ticketList = jsonFare.getJSONArray("ticketL");
if (ticketList != null) {
for (int iTicket = 0; iTicket < ticketList.length(); iTicket++) {
final JSONObject jsonTicket = ticketList.getJSONObject(iTicket);
final String ticketName = jsonTicket.getString("name");
final Currency currency = Currency.getInstance(jsonTicket.getString("cur"));
final float price = jsonTicket.getInt("prc") / 100f;
final Fare fare = parseJsonTripFare(name, fareSetDescription, ticketName,
currency, price);
if (fare != null)
fares.add(fare);
}
} else {
final Currency currency = Currency.getInstance(jsonFare.getString("cur"));
final float price = jsonFare.getInt("prc") / 100f;
final Fare fare = parseJsonTripFare(fareSetName, fareSetDescription, name, currency,
@ -521,6 +534,7 @@ public abstract class AbstractHafasMobileProvider extends AbstractHafasProvider
}
}
}
}
final Trip trip = new Trip(null, tripFrom, tripTo, legs, fares, null, null);
trips.add(trip);