--- android/TrainInfo/src/dk/thoerup/traininfo/DepartureList.java 2009/09/11 08:48:18 316
+++ android/TrainInfo/src/dk/thoerup/traininfo/DepartureList.java 2009/09/11 12:24:53 319
@@ -56,8 +56,9 @@
String name = launchedBy.getStringExtra("name");
((TextView) findViewById(R.id.stationName)).setText( name );
-
- ((TextView) findViewById(R.id.stationAddr)).setText( "searching..." );
+
+ String address = launchedBy.getStringExtra("address");
+ ((TextView) findViewById(R.id.stationAddr)).setText( address );
int stationId = launchedBy.getIntExtra("stationid", -1);
@@ -156,32 +157,6 @@
return super.onCreateDialog(id);
}
}
-
- String lookupAddress(double latitude, double longitude) {
-
- Geocoder coder = new Geocoder(this, new Locale("da"));
- StringBuilder sb = new StringBuilder();
- Log.i("lookupaddr", "" + latitude + "/" + longitude);
- try {
- List
addressList = coder.getFromLocation(latitude, longitude, 1);
- Address addr = addressList.get(0);
-
-
- int max = addr.getMaxAddressLineIndex();
- for (int i=0; i0)
- sb.append(", ");
-
- sb.append(addr.getAddressLine(i));
- }
-
-
- } catch (Exception e) {
- Log.e("DepartureList", "geocoder failed", e);
- }
-
- return sb.toString();
- }
class DialogDismisser implements View.OnClickListener {
@@ -208,6 +183,7 @@
class DepartureFetcher extends AsyncTask {
+ boolean success;
String addr;
@Override
protected void onPostExecute(Void result) {
@@ -216,18 +192,19 @@
adapter.setDepartures(departures);
pgDialog.dismiss();
-
- ((TextView) findViewById(R.id.stationAddr)).setText( addr );
-
- if (departures.size() == 0)
- MessageBox.showMessage(DepartureList.this, "No departures found");
+ if (success) {
+ if (departures.size() == 0) {
+ MessageBox.showMessage(DepartureList.this, "No departures found");
+ }
+ } else { // communication or parse error
+ MessageBox.showMessage(DepartureList.this, "Error finding departures");
+ }
}
@Override
protected Void doInBackground(Integer... params) {
- addr = lookupAddress( latitude , longitude);
- provider.lookupDepartures(params[0]);
- departures = provider.getDepartures();
+ success = provider.lookupDepartures(params[0]);
+ departures = provider.getDepartures(params[0]);
return null;
}