From 3ae140d60f4fb5e23aff4be569c48e418903d813 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Fri, 29 Apr 2011 11:23:27 +0000 Subject: [PATCH] fixed IndexOutOfBoundsException when no intermediate stops present git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@577 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- src/de/schildbach/pte/AbstractEfaProvider.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 1233165e..5411f0b6 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1611,12 +1611,17 @@ public abstract class AbstractEfaProvider implements NetworkProvider XmlPullUtil.exit(pp, "itdStopSeq"); // remove first and last, because they are not intermediate - if (intermediateStops.get(0).location.id != departureId) - throw new IllegalStateException(); - if (intermediateStops.get(intermediateStops.size() - 1).location.id != arrivalId) - throw new IllegalStateException(); - intermediateStops.remove(0); - intermediateStops.remove(intermediateStops.size() - 1); + final int size = intermediateStops.size(); + if (size >= 2) + { + if (intermediateStops.get(size - 1).location.id != arrivalId) + throw new IllegalStateException(); + intermediateStops.remove(size - 1); + + if (intermediateStops.get(0).location.id != departureId) + throw new IllegalStateException(); + intermediateStops.remove(0); + } } List path = null;