improve fare

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@867 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2012-01-13 17:07:29 +00:00
parent 85a4cbc229
commit 7333950a0b
2 changed files with 20 additions and 3 deletions

View file

@ -1471,7 +1471,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return (double) value / 1000000;
}
private String xsltTripRequest2Uri(final Location from, final Location via, final Location to, final Date date, final boolean dep,
protected String xsltTripRequest2Uri(final Location from, final Location via, final Location to, final Date date, final boolean dep,
final String products, final WalkSpeed walkSpeed, final Accessibility accessibility)
{
final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
@ -1626,6 +1626,9 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
final ResultHeader header = enterItdRequest(pp);
final String context = header.context;
if (XmlPullUtil.test(pp, "itdLayoutParams"))
XmlPullUtil.next(pp);
XmlPullUtil.require(pp, "itdTripRequest");
final String requestId = XmlPullUtil.attr(pp, "requestID");
XmlPullUtil.enter(pp, "itdTripRequest");
@ -1955,10 +1958,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
final String unitName = XmlPullUtil.attr(pp, "unitName");
final String unitsAdult = XmlPullUtil.attr(pp, "unitsAdult");
final String unitsChild = XmlPullUtil.attr(pp, "unitsChild");
final String levelAdult = pp.getAttributeValue(null, "levelAdult");
final boolean hasLevelAdult = levelAdult != null && levelAdult.length() > 0;
final String levelChild = pp.getAttributeValue(null, "levelChild");
final boolean hasLevelChild = levelChild != null && levelChild.length() > 0;
if (fareAdult != null && fareAdult.length() > 0)
fares.add(new Fare(net, Type.ADULT, currency, Float.parseFloat(fareAdult), unitName, unitsAdult));
fares.add(new Fare(net, Type.ADULT, currency, Float.parseFloat(fareAdult), hasLevelAdult ? null : unitName,
hasLevelAdult ? levelAdult : unitsAdult));
if (fareChild != null && fareChild.length() > 0)
fares.add(new Fare(net, Type.CHILD, currency, Float.parseFloat(fareChild), unitName, unitsChild));
fares.add(new Fare(net, Type.CHILD, currency, Float.parseFloat(fareChild), hasLevelChild ? null : unitName,
hasLevelChild ? levelChild : unitsChild));
if (!pp.isEmptyElementTag())
{