--- android/TrainInfo/src/dk/thoerup/traininfo/DepartureList.java 2010/02/01 16:49:02 572 +++ android/TrainInfo/src/dk/thoerup/traininfo/DepartureList.java 2010/05/19 16:27:41 742 @@ -1,9 +1,5 @@ package dk.thoerup.traininfo; -import static dk.thoerup.traininfo.R.string.departurelist_fetchdata; -import static dk.thoerup.traininfo.R.string.generic_cancel; -import static dk.thoerup.traininfo.R.string.generic_retry; - import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; @@ -24,6 +20,7 @@ import dk.thoerup.traininfo.provider.DepartureProvider; import dk.thoerup.traininfo.provider.ProviderFactory; import dk.thoerup.traininfo.util.MessageBox; +import static dk.thoerup.traininfo.R.string.*; public class DepartureList extends ListActivity { @@ -64,15 +61,17 @@ findViewById(R.id.header).setOnClickListener( mapLauncher ); - NumberFormat format = NumberFormat.getNumberInstance(); - format.setMaximumFractionDigits(1); - format.setMinimumFractionDigits(1); - - int distance = station.getDistance(); - ((TextView) findViewById(R.id.stationDistance)).setText( format.format((double)distance/1000.0) + " km." ); - station.setRegional(true); - Log.e("ASD", "" + station.isRegional() + "/" + station.isSTrain() + "/" + station.isMetro()); + if (distance != 0) { + NumberFormat format = NumberFormat.getNumberInstance(); + format.setMaximumFractionDigits(1); + format.setMinimumFractionDigits(1); + + ((TextView) findViewById(R.id.stationDistance)).setText( format.format((double)distance/1000.0) + " km." ); + } else { + ((TextView) findViewById(R.id.stationDistance)).setVisibility(View.GONE); + } + if (station.isRegional() == false && station.isSTrain() == false) { getListView().setVisibility( View.GONE ); @@ -203,8 +202,13 @@ public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); } - }); - builder.show(); + }); + + try { + builder.show(); + } catch (android.view.WindowManager.BadTokenException e) { + Log.i("DepartureList", "BadTokenException"); // this can happen if the user switched away from this activity, while doInBackground was running + } } }