From 7125dc4757c29dfe9f451e51078ff59ce1521a6c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 1 Mar 2012 13:42:29 +0000 Subject: Fix the bus stop movement, havent fully tested this yet as the live bus data is not working... Conflicts: gen/net/cbaines/suma/R.java --- gen/net/cbaines/suma/R.java | 6 ++--- res/layout/bus_stop_activity.xml | 14 +++++------ src/net/cbaines/suma/BusRoute.java | 42 +++++++++++++++++-------------- src/net/cbaines/suma/BusStopActivity.java | 33 ++++++++++-------------- 4 files changed, 46 insertions(+), 49 deletions(-) diff --git a/gen/net/cbaines/suma/R.java b/gen/net/cbaines/suma/R.java index 8a2fd53..7cbd954 100644 --- a/gen/net/cbaines/suma/R.java +++ b/gen/net/cbaines/suma/R.java @@ -73,11 +73,11 @@ public final class R { public static final int busStopID=0x7f0a001c; public static final int busStopListItems=0x7f0a0023; public static final int busStopLoadBar=0x7f0a0021; - public static final int busStopMessage=0x7f0a001e; + public static final int busStopMessage=0x7f0a0020; public static final int busStopName=0x7f0a0014; - public static final int busStopTimes=0x7f0a001f; + public static final int busStopTimes=0x7f0a001e; public static final int busTimeContentLayout=0x7f0a001d; - public static final int centerLoadBar=0x7f0a0020; + public static final int centerLoadBar=0x7f0a001f; public static final int check1=0x7f0a0035; public static final int childname=0x7f0a0034; public static final int donateBitcoinAddress=0x7f0a0029; diff --git a/res/layout/bus_stop_activity.xml b/res/layout/bus_stop_activity.xml index 3f4dc98..7875852 100644 --- a/res/layout/bus_stop_activity.xml +++ b/res/layout/bus_stop_activity.xml @@ -107,13 +107,6 @@ android:gravity="center" android:orientation="vertical" > - - + + *
  • U1 = A
  • *
  • U2 = B
  • @@ -76,7 +77,8 @@ public class BusRoute { String forwardDirection; /** - * The direction the bus is travelling if it is moving through the route and sequence is decreasing. + * The direction the bus is travelling if it is moving through the route and + * sequence is decreasing. *
      *
    • U1 = C
    • *
    • U2 = C
    • @@ -92,7 +94,8 @@ public class BusRoute { BusRoute() { } - public BusRoute(Integer id, String code, String label, String forwardDirection, String reverseDirection, boolean uniLink) { + public BusRoute(Integer id, String code, String label, String forwardDirection, String reverseDirection, + boolean uniLink) { this.id = id.intValue(); this.code = code; this.label = label; @@ -132,7 +135,8 @@ public class BusRoute { } /** - * Untested? + * Return the set of bus stops that can be thought of moveAmount away from + * the busStop. The method returns a set as * * @param context * @param busStop @@ -165,7 +169,7 @@ public class BusRoute { for (RouteStop routeStop : routeStopsFound) { if (routeStop.busStop.id.equals(busStop.id)) { - stopIndexs.add(routeStop.sequence - 1); + stopIndexs.add(routeStop.sequence); } } @@ -174,24 +178,24 @@ public class BusRoute { if (moveAmount > 0) { Log.v(TAG, "Moving forward " + moveAmount + " stops from " + busStop + " (" + stopIndex + "/" + routeStopsFound.size() + ")"); - int stopWanted = stopIndex + moveAmount; - if ((stopWanted + 1) > routeStopsFound.size()) { + int stopWantedSeq = stopIndex + moveAmount; + if (stopWantedSeq > routeStopsFound.size()) { Log.v(TAG, "Off the end of the route"); - stopWanted = stopWanted % (routeStopsFound.size() - 1); + stopWantedSeq = ((stopWantedSeq - 1) % (routeStopsFound.size())) + 1; } - Log.v(TAG, " Stop wanted " + stopWanted); - BusStop busStopWanted = routeStopsFound.get(stopWanted).busStop; + Log.v(TAG, " Stop wanted " + stopWantedSeq); + BusStop busStopWanted = routeStopsFound.get(stopWantedSeq - 1).busStop; busStopDao.refresh(busStopWanted); - Log.v(TAG, " Moving to " + busStopWanted + " (" + stopWanted + ") in route " + this); + Log.v(TAG, " Moving to " + busStopWanted + " (" + stopWantedSeq + ") in route " + this); busStops.add(busStopWanted); } else { Log.v(TAG, "stopIndex " + stopIndex); int stopWanted = stopIndex + moveAmount; - if (stopWanted < 0) { - stopWanted = routeStopsFound.size() - (Math.abs(stopWanted) % routeStopsFound.size()); + if (stopWanted < 1) { + stopWanted = routeStopsFound.size() - (Math.abs(stopWanted - 1) % routeStopsFound.size()); } Log.v(TAG, "stopWanted " + stopWanted); busStopDao.refresh(routeStopsFound.get(stopWanted).busStop); @@ -377,11 +381,10 @@ public class BusRoute { } if (moveAmount > 0) { - Log.v(TAG, - "Moving forward " + moveAmount + " stops from " + busStop + " (" + stopIndex + "/" - + routeStopsFound.size() + ")"); + Log.v(TAG, "Moving forward " + moveAmount + " stops from " + busStop + " (" + stopIndex + "/" + + routeStopsFound.size() + ")"); int stopWanted = stopIndex + moveAmount; - if ((stopWanted + 1) > routeStopsFound.size()) { + if (stopWanted > routeStopsFound.size()) { Log.v(TAG, "Off the end of the route"); stopWanted = stopWanted % (routeStopsFound.size() - 1); } @@ -402,8 +405,9 @@ public class BusRoute { Log.v(TAG, "stopWanted " + stopWanted); busStopDao.refresh(routeStopsFound.get(stopWanted).busStop); - Log.v(TAG, "Moving backwards " + moveAmount + " stops from " + busStop + " to " - + routeStopsFound.get(stopWanted).busStop + " in route " + this); + Log.v(TAG, + "Moving backwards " + moveAmount + " stops from " + busStop + " to " + + routeStopsFound.get(stopWanted).busStop + " in route " + this); return routeStopsFound.get(stopWanted).busStop; } diff --git a/src/net/cbaines/suma/BusStopActivity.java b/src/net/cbaines/suma/BusStopActivity.java index cab81b1..81dbcc1 100644 --- a/src/net/cbaines/suma/BusStopActivity.java +++ b/src/net/cbaines/suma/BusStopActivity.java @@ -93,7 +93,7 @@ public class BusStopActivity extends OrmLiteBaseActivity impleme private CheckBox U9RouteRadioButton; private static final int POI_DIALOG_ID = 0; - private POIDialog busDialog; + private POIDialog busStopDialog; private HashSet routes = new HashSet(); @@ -398,15 +398,9 @@ public class BusStopActivity extends OrmLiteBaseActivity impleme if (busStops.size() == 1) { - BusStop stop = (BusStop) busStops.iterator().next(); - if (stop == null) { - Log.e(TAG, "stop == null"); - } - if (stop.id == null) { - Log.e(TAG, "stop.id == null"); - } + BusStop nextBusStop = (BusStop) busStops.iterator().next(); - Uri uri = Uri.parse("http://id.southampton.ac.uk/bus-stop/" + busStop.id); + Uri uri = Uri.parse("http://id.southampton.ac.uk/bus-stop/" + nextBusStop.id); Log.i(TAG, "Starting a activity for " + uri + " path " + uri.getPath()); @@ -415,14 +409,14 @@ public class BusStopActivity extends OrmLiteBaseActivity impleme } else { showDialog(POI_DIALOG_ID); - if (busDialog == null) { + if (busStopDialog == null) { Log.e(TAG, "Very wierd, just tried to launch the favourite's dialog, but its null?"); return false; } - busDialog.setMessage(""); - busDialog.setItems(busStops); - busDialog.setTitle("Choose Bus Stop"); + busStopDialog.setMessage(""); + busStopDialog.setItems(busStops); + busStopDialog.setTitle("Choose Bus Stop"); Log.i(TAG, "Showing dialog"); } @@ -505,9 +499,9 @@ public class BusStopActivity extends OrmLiteBaseActivity impleme protected Dialog onCreateDialog(int id) { switch (id) { case POI_DIALOG_ID: - busDialog = new POIDialog(instance); - busDialog.setOnItemClickListener(this); - return busDialog; + busStopDialog = new POIDialog(instance); + busStopDialog.setOnItemClickListener(this); + return busStopDialog; } return null; } @@ -515,16 +509,15 @@ public class BusStopActivity extends OrmLiteBaseActivity impleme public void onItemClick(AdapterView parent, View view, int position, long id) { Log.i(TAG, "OnItemClick pos " + position + " id " + id); - String busId = busDialog.adapter.getItemStringId(position); + String busStopID = busStopDialog.adapter.getItemStringId(position); - Log.i(TAG, "Bus " + busId + " selected"); + Log.i(TAG, "Bus " + busStopID + " selected"); - Uri uri = Uri.parse("http://id.southampton.ac.uk/bus/" + busId); + Uri uri = Uri.parse("http://id.southampton.ac.uk/bus-stop/" + busStopID); Log.i(TAG, "Starting a activity for " + uri + " path " + uri.getPath()); Intent busStopIntent = new Intent(Intent.ACTION_VIEW, uri); - busStopIntent.putExtra("busStopID", busStop.id); startActivity(busStopIntent); } -- cgit v1.2.3