--- android/TrainInfo/src/dk/thoerup/traininfo/StationList.java 2010/12/25 20:51:29 1207 +++ android/TrainInfo/src/dk/thoerup/traininfo/StationList.java 2011/03/26 01:49:11 1244 @@ -23,6 +23,7 @@ import static dk.thoerup.traininfo.R.string.stationlist_nostations; import static dk.thoerup.traininfo.R.string.stationlist_obtainedby; import static dk.thoerup.traininfo.R.string.stationlist_removefavorite; +import static dk.thoerup.traininfo.R.string.stationlist_satellitecount; import static dk.thoerup.traininfo.R.string.stationlist_search; import static dk.thoerup.traininfo.R.string.stationlist_stationadded; import static dk.thoerup.traininfo.R.string.stationlist_stationmap; @@ -30,7 +31,6 @@ import static dk.thoerup.traininfo.R.string.stationlist_stationsearch; import static dk.thoerup.traininfo.R.string.stationlist_twocharmin; import static dk.thoerup.traininfo.R.string.stationlist_waitforlocation; -import static dk.thoerup.traininfo.R.string.stationlist_satellitecount; import java.util.ArrayList; @@ -48,6 +48,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.util.Log; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.Menu; @@ -177,6 +178,8 @@ protected void onDestroy() { super.onDestroy(); + stationsFetched.removeMessages(0); + if (locationLookup != null) { locationLookup.stopSearch(); @@ -448,12 +451,23 @@ MessageBox.showMessage(StationList.this, getString(stationlist_nolocationprovider), true ); //StationList.this.finish(); return; + case IDLE: + Log.e("TrainInfo", "How did this happen ???"); + dismissDialog(DLG_PROGRESS); // how did we get here ?? + return; + } if (locationLookup.elapsedTime() >= GPS_TIMEOUT_MS) { - dismissDialog(DLG_PROGRESS); + try { + dismissDialog(DLG_PROGRESS); + } catch (IllegalArgumentException ex) { + // I get stacktraces that reports an exception is thrown here - + // but i can not recreate the situation that causes said exception + Log.e("TrainInfo", "Why the f*** is this exception thrown here ?? " + ex.getMessage() ); + } locationLookup.stopSearch();