public static void parseJSON(JSONObject routesJson) throws JSONException { JSONArray jRoutes = new JSONArray(); BusManager sharedManager = BusManager.getBusManager(); if (routesJson != null) jRoutes = routesJson.getJSONObject(BusManager.TAG_DATA).getJSONArray("72"); for (int j = 0; j < jRoutes.length(); j++) { JSONObject routeObject = jRoutes.getJSONObject(j); String routeLongName = routeObject.getString(BusManager.TAG_LONG_NAME); String routeID = routeObject.getString(BusManager.TAG_ROUTE_ID); Route r = sharedManager.getRoute(routeLongName, routeID); JSONArray stops = routeObject.getJSONArray(BusManager.TAG_STOPS); for (int i = 0; i < stops.length(); i++) { r.addStop(i, sharedManager.getStopByID(stops.getString(i))); } JSONArray segments = routeObject.getJSONArray(BusManager.TAG_SEGMENTS); if (BuildConfig.DEBUG) Log.v( MainActivity.REFACTOR_LOG_TAG, "Found " + segments.length() + " segments for route " + routeID); for (int i = 0; i < segments.length(); i++) { // if (BuildConfig.DEBUG) Log.v("MapDebugging", "parseJSON of Route adding segment ID " + // segments.getJSONArray(i).getString(0) + " for " + routeID + "(" + // r.getSegmentIDs().size() + " total)"); r.getSegmentIDs().add(segments.getJSONArray(i).getString(0)); } sharedManager.addRoute(r); // if (BuildConfig.DEBUG) Log.v("JSONDebug", "Route name: " + routeLongName + " | ID:" + // routeID + " | Number of stops: " + sharedManager.getRouteByID(routeID).getStops().size()); } }
public Route(String mLongName, String mRouteID) { segmentIDs = new ArrayList<>(); segments = new ArrayList<>(); longName = mLongName; routeID = mRouteID; sharedManager = BusManager.getBusManager(); stops = sharedManager.getStopsByRouteID(routeID); for (Stop s : stops) { s.addRoute(this); } }