From 35c82481b5552d11ac91cb28c72b0c8106b0f40b Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Wed, 6 Jan 2016 19:10:34 +0100 Subject: [PATCH] EFA: Handle missing message code when querying for locations via JSON. --- .../de/schildbach/pte/AbstractEfaProvider.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 3cea76bb..fa544a82 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -285,14 +285,17 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider } else { - final JSONArray messages = stopFinder.getJSONArray("message"); - for (int i = 0; i < messages.length(); i++) + final JSONArray messages = stopFinder.optJSONArray("message"); + if (messages != null) { - final JSONObject message = messages.optJSONObject(i); - final String messageName = message.getString("name"); - final String messageValue = Strings.emptyToNull(message.getString("value")); - if ("code".equals(messageName) && !"-8011".equals(messageValue)) - return new SuggestLocationsResult(header, SuggestLocationsResult.Status.SERVICE_DOWN); + for (int i = 0; i < messages.length(); i++) + { + final JSONObject message = messages.optJSONObject(i); + final String messageName = message.getString("name"); + final String messageValue = Strings.emptyToNull(message.getString("value")); + if ("code".equals(messageName) && !"-8011".equals(messageValue)) + return new SuggestLocationsResult(header, SuggestLocationsResult.Status.SERVICE_DOWN); + } } final JSONObject points = stopFinder.optJSONObject("points");