aboutsummaryrefslogtreecommitdiff
path: root/src/net/cbaines/suma/BusActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/cbaines/suma/BusActivity.java')
-rw-r--r--src/net/cbaines/suma/BusActivity.java75
1 files changed, 35 insertions, 40 deletions
diff --git a/src/net/cbaines/suma/BusActivity.java b/src/net/cbaines/suma/BusActivity.java
index 2b76176..f4edc3f 100644
--- a/src/net/cbaines/suma/BusActivity.java
+++ b/src/net/cbaines/suma/BusActivity.java
@@ -24,8 +24,7 @@ import android.widget.Toast;
import com.j256.ormlite.android.apptools.OrmLiteBaseActivity;
-public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
- Preferences {
+public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements Preferences {
final static String TAG = "BusActivity";
private TextView U1RouteTextView;
@@ -71,13 +70,28 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
setContentView(R.layout.bus_activity);
instance = this;
- String busID = getIntent().getExtras().getString("busID");
+ Log.i(TAG, "getIntent().getDataString() " + getIntent().getDataString());
+
+ String busID;
+
+ if (getIntent().getDataString().startsWith("http://data")) {
+
+ String[] uriParts = getIntent().getDataString().split("/");
+
+ busID = uriParts[uriParts.length - 1].replace(".html", "");
+
+ } else {
+
+ String[] uriParts = getIntent().getDataString().split("/");
+
+ busID = uriParts[uriParts.length - 1];
+ }
+
String busStopID = getIntent().getExtras().getString("busStopID");
final DatabaseHelper helper = getHelper();
try {
- List<Bus> buses = helper.getBusDao().queryForEq(Bus.ID_FIELD_NAME,
- busID);
+ List<Bus> buses = helper.getBusDao().queryForEq(Bus.ID_FIELD_NAME, busID);
bus = null;
if (buses.size() == 0) {
Log.e(TAG, "Bus " + busID + " not found!");
@@ -91,8 +105,7 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
busStop = null;
if (busStopID != null) {
- List<BusStop> busStops = helper.getBusStopDao().queryForEq(
- BusStop.ID_FIELD_NAME, busStopID);
+ List<BusStop> busStops = helper.getBusStopDao().queryForEq(BusStop.ID_FIELD_NAME, busStopID);
if (busStops.size() == 0) {
Log.e(TAG, "BusStop " + busStopID + " not found!");
} else if (busStops.size() == 1) {
@@ -115,8 +128,7 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
timetableView = (ListView) findViewById(R.id.busActivityTimes);
if (bus.id != null) {
- Log.i(TAG, "Bus id is not null (" + bus.id
- + ") setting busIDTextView");
+ Log.i(TAG, "Bus id is not null (" + bus.id + ") setting busIDTextView");
busIDTextView.setText(bus.id + " " + bus.getName());
} else {
Log.w(TAG, "Bus id is null?");
@@ -165,29 +177,23 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
}
/*
- * for (int i = 0;; i++) { BusStop nextStop =
- * bus.route.moveInRoute(instance, busStops.get(i), bus.direction, 1);
+ * for (int i = 0;; i++) { BusStop nextStop = bus.route.moveInRoute(instance, busStops.get(i), bus.direction, 1);
*
- * if (nextStop.equals(busStop) || (bus.destination != null &&
- * bus.destination.equals(nextStop))) { break; }
+ * if (nextStop.equals(busStop) || (bus.destination != null && bus.destination.equals(nextStop))) { break; }
*
* busStops.add(nextStop); busStopsActive.add(false);
*
- * if (busStops.size() > 50) { Log.e(TAG, "Got more than 50 bus stops");
- * break; } }
+ * if (busStops.size() > 50) { Log.e(TAG, "Got more than 50 bus stops"); break; } }
*/
refreshData = new Runnable() {
public void run() {
- for (int num = timetableView.getFirstVisiblePosition(); num < timetableView
- .getLastVisiblePosition(); num++) {
+ for (int num = timetableView.getFirstVisiblePosition(); num < timetableView.getLastVisiblePosition(); num++) {
Stop stop = timetable.get(num);
GetTimetableStopTask task = tasks.get(busStops.get(num));
- if (stop.timeOfFetch == null
- || (stop.timeOfFetch.getTime() - System
- .currentTimeMillis()) > 20000) {
+ if (stop.timeOfFetch == null || (stop.timeOfFetch.getTime() - System.currentTimeMillis()) > 20000) {
if (task != null) {
if (task.getStatus() == AsyncTask.Status.FINISHED) {
task = null;
@@ -212,12 +218,9 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
public void onResume() {
super.onResume();
- SharedPreferences sharedPrefs = PreferenceManager
- .getDefaultSharedPreferences(this);
- if (sharedPrefs.getBoolean(UNI_LINK_BUS_TIMES,
- UNI_LINK_BUS_TIMES_ENABLED_BY_DEFAULT)
- || sharedPrefs.getBoolean(NON_UNI_LINK_BUS_TIMES,
- NON_UNI_LINK_BUS_TIMES_ENABLED_BY_DEFAULT)) {
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
+ if (sharedPrefs.getBoolean(UNI_LINK_BUS_TIMES, UNI_LINK_BUS_TIMES_ENABLED_BY_DEFAULT)
+ || sharedPrefs.getBoolean(NON_UNI_LINK_BUS_TIMES, NON_UNI_LINK_BUS_TIMES_ENABLED_BY_DEFAULT)) {
Log.i(TAG, "Live Times enabled");
timetable = (Timetable) getLastNonConfigurationInstance();
@@ -227,8 +230,7 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
Log.i(TAG, "No Previous timetable");
timetable = new Timetable();
for (int i = 0; i < busStops.size(); i++) {
- timetable.add(new Stop(bus, busStops.get(i), null, null,
- false));
+ timetable.add(new Stop(bus, busStops.get(i), null, null, false));
}
Log.v(TAG, "Finished adding placeholder stops");
} else {
@@ -261,8 +263,7 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
super.onPause();
}
- private class GetTimetableStopTask extends
- AsyncTask<BusStop, Integer, Stop> {
+ private class GetTimetableStopTask extends AsyncTask<BusStop, Integer, Stop> {
private String errorMessage;
private BusStop busStop;
@@ -331,26 +332,20 @@ public class BusActivity extends OrmLiteBaseActivity<DatabaseHelper> implements
} else {
if (visibleTimetable.size() == 0) {
busActivityContentLayout.setGravity(Gravity.CENTER);
- busContentMessage
- .setText("No Busses (With the current enabled routes)");
+ busContentMessage.setText("No Busses (With the current enabled routes)");
busContentMessage.setVisibility(View.VISIBLE);
timetableView.setVisibility(View.GONE);
} else {
timetableView.setVisibility(View.VISIBLE);
busContentMessage.setVisibility(View.GONE);
BusSpecificTimetableAdapter adapter;
- if ((adapter = (BusSpecificTimetableAdapter) timetableView
- .getAdapter()) != null) {
+ if ((adapter = (BusSpecificTimetableAdapter) timetableView.getAdapter()) != null) {
adapter.updateTimetable(visibleTimetable);
} else {
- adapter = new BusSpecificTimetableAdapter(this,
- visibleTimetable);
+ adapter = new BusSpecificTimetableAdapter(this, visibleTimetable);
timetableView.setAdapter(adapter);
if (busStop != null) {
- Log.i(TAG,
- "Moving to position of " + busStop.description
- + " which is "
- + busStops.indexOf(busStop));
+ Log.i(TAG, "Moving to position of " + busStop.description + " which is " + busStops.indexOf(busStop));
timetableView.setSelection(busStops.indexOf(busStop));
}
}