--- android/TrainInfo/src/dk/thoerup/traininfo/StationList.java 2009/10/29 09:38:13 482 +++ android/TrainInfo/src/dk/thoerup/traininfo/StationList.java 2010/01/27 06:14:00 556 @@ -2,7 +2,7 @@ import java.util.ArrayList; import java.util.List; -import java.util.Locale; + import android.app.AlertDialog; import android.app.Dialog; @@ -12,14 +12,12 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; -import android.location.Address; -import android.location.Geocoder; import android.location.Location; import android.os.AsyncTask; 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; @@ -135,16 +133,16 @@ } protected void setTitle() { - String dialogTitle; + String dialogTitle = getResources().getString(R.string.app_name); switch (listType) { case ListNearest: - dialogTitle = "Traininfo DK - Nearby stations"; + dialogTitle += " - Nearby stations"; break; case ListSearch: - dialogTitle = "Traininfo DK - Search"; + dialogTitle += " - Search"; break; case ListFavorites: - dialogTitle = "Traininfo DK - Favorites"; + dialogTitle += " - Favorites"; break; default: dialogTitle = "";//not possible @@ -190,7 +188,6 @@ case OPTIONS_MAP: Intent intent = new Intent(this,StationMapView.class); - intent.putExtra("userlocation", location ); ArrayList stationPoints = new ArrayList(); for (StationBean st : stations ) { @@ -205,9 +202,15 @@ Location loc = locationLookup.getLocation(); StringBuffer message = new StringBuffer(); message.append("Location info:\n"); - message.append("-Obtained by: ").append(loc != null ? loc.getProvider() : "-").append("\n"); - message.append("-Accuracy: ").append(loc != null ? (int)loc.getAccuracy() : "-").append("m\n"); - + if (loc != null) { + message.append("-Obtained by: ").append( loc.getProvider() ).append("\n"); + message.append("-Accuracy: ").append( (int)loc.getAccuracy()).append("m\n"); + message.append("-Latitude: ").append( loc.getLatitude()).append("\n"); + message.append("-Longitude: ").append( loc.getLongitude() ).append("\n"); + } else { + message.append(" - No location data!"); + } + MessageBox.showMessage(this, message.toString()); break; default: @@ -226,6 +229,19 @@ } + + public void showMessageAndClose(String message) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setMessage(message) + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + StationList.this.finish(); + } + }) + .show(); + } @@ -255,13 +271,14 @@ if (et.getText().toString().length() >= 2) { startNameSearch(et.getText().toString()); } else { - MessageBox.showMessage(StationList.this, "Two characters minimum" ); + showMessageAndClose("Two characters minimum"); } } }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); + StationList.this.finish(); // Close this Activity } }); return builder.create(); @@ -305,6 +322,9 @@ intent.putExtra("longitude", longitude); intent.putExtra("stationid", station.getId()); intent.putExtra("address", station.getAddress()); + intent.putExtra("isregional", station.isRegional()); + intent.putExtra("isstrain", station.isSTrain()); + intent.putExtra("ismetro", station.isMetro()); startActivity(intent); } @@ -340,7 +360,7 @@ findStationsTask.searchByIds(favorites.toString(), locationLookup.getLocation()); findStationsTask.execute(); } else { - MessageBox.showMessage(this, "Favorite list is empty"); + showMessageAndClose( "Favorite list is empty"); } } @@ -357,6 +377,7 @@ } + /* TODO: Remove this no longer needed function String lookupAddress(double latitude, double longitude) { Geocoder coder = new Geocoder(this, new Locale("da")); @@ -381,7 +402,7 @@ } return sb.toString(); - } + }*/ //////////////////////////////////////////////////////////////////////////// @@ -495,10 +516,7 @@ List stations = stationProvider.getStations(); for (StationBean station : stations) { - String addr = lookupAddress(station.getLatitude(), station.getLongitude()); - station.setAddress(addr); - - + if (method.equals(LookupMethod.ByName) || method.equals(LookupMethod.ByList)) { if (loc != null) { //only do the distance calc if we have a location dummy.setLatitude(station.getLatitude());