--- android/TrainInfo/src/dk/thoerup/traininfo/DepartureList.java 2009/09/10 19:09:09 310 +++ android/TrainInfo/src/dk/thoerup/traininfo/DepartureList.java 2009/09/11 12:24:53 319 @@ -3,14 +3,18 @@ import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import android.app.Dialog; import android.app.ListActivity; import android.app.ProgressDialog; import android.content.Intent; +import android.location.Address; +import android.location.Geocoder; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.ListView; import android.widget.TextView; @@ -52,9 +56,9 @@ String name = launchedBy.getStringExtra("name"); ((TextView) findViewById(R.id.stationName)).setText( name ); - - String addr = launchedBy.getStringExtra("address"); - ((TextView) findViewById(R.id.stationAddr)).setText( addr ); + + String address = launchedBy.getStringExtra("address"); + ((TextView) findViewById(R.id.stationAddr)).setText( address ); int stationId = launchedBy.getIntExtra("stationid", -1); @@ -153,7 +157,7 @@ return super.onCreateDialog(id); } } - + class DialogDismisser implements View.OnClickListener { Dialog dlg; @@ -179,6 +183,8 @@ class DepartureFetcher extends AsyncTask { + boolean success; + String addr; @Override protected void onPostExecute(Void result) { super.onPostExecute(result); @@ -186,14 +192,19 @@ adapter.setDepartures(departures); pgDialog.dismiss(); - 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) { - provider.lookupDepartures(params[0]); - departures = provider.getDepartures(); + success = provider.lookupDepartures(params[0]); + departures = provider.getDepartures(params[0]); return null; }