23 |
import static dk.thoerup.traininfo.R.string.stationlist_nostations; |
import static dk.thoerup.traininfo.R.string.stationlist_nostations; |
24 |
import static dk.thoerup.traininfo.R.string.stationlist_obtainedby; |
import static dk.thoerup.traininfo.R.string.stationlist_obtainedby; |
25 |
import static dk.thoerup.traininfo.R.string.stationlist_removefavorite; |
import static dk.thoerup.traininfo.R.string.stationlist_removefavorite; |
26 |
|
import static dk.thoerup.traininfo.R.string.stationlist_satellitecount; |
27 |
import static dk.thoerup.traininfo.R.string.stationlist_search; |
import static dk.thoerup.traininfo.R.string.stationlist_search; |
28 |
import static dk.thoerup.traininfo.R.string.stationlist_stationadded; |
import static dk.thoerup.traininfo.R.string.stationlist_stationadded; |
29 |
import static dk.thoerup.traininfo.R.string.stationlist_stationmap; |
import static dk.thoerup.traininfo.R.string.stationlist_stationmap; |
31 |
import static dk.thoerup.traininfo.R.string.stationlist_stationsearch; |
import static dk.thoerup.traininfo.R.string.stationlist_stationsearch; |
32 |
import static dk.thoerup.traininfo.R.string.stationlist_twocharmin; |
import static dk.thoerup.traininfo.R.string.stationlist_twocharmin; |
33 |
import static dk.thoerup.traininfo.R.string.stationlist_waitforlocation; |
import static dk.thoerup.traininfo.R.string.stationlist_waitforlocation; |
|
import static dk.thoerup.traininfo.R.string.stationlist_satellitecount; |
|
34 |
|
|
35 |
import java.util.ArrayList; |
import java.util.ArrayList; |
36 |
|
|
48 |
import android.os.Bundle; |
import android.os.Bundle; |
49 |
import android.os.Handler; |
import android.os.Handler; |
50 |
import android.os.Message; |
import android.os.Message; |
51 |
|
import android.util.Log; |
52 |
import android.view.ContextMenu; |
import android.view.ContextMenu; |
53 |
|
import android.view.ContextMenu.ContextMenuInfo; |
54 |
import android.view.LayoutInflater; |
import android.view.LayoutInflater; |
55 |
import android.view.Menu; |
import android.view.Menu; |
56 |
import android.view.MenuItem; |
import android.view.MenuItem; |
57 |
import android.view.View; |
import android.view.View; |
|
import android.view.ContextMenu.ContextMenuInfo; |
|
58 |
import android.view.View.OnCreateContextMenuListener; |
import android.view.View.OnCreateContextMenuListener; |
59 |
import android.widget.AdapterView; |
import android.widget.AdapterView; |
60 |
import android.widget.EditText; |
import android.widget.EditText; |
61 |
import android.widget.ListView; |
import android.widget.ListView; |
62 |
import android.widget.Toast; |
import android.widget.Toast; |
63 |
import dk.thoerup.android.traininfo.common.StationBean; |
import dk.thoerup.android.traininfo.common.StationBean; |
64 |
import dk.thoerup.android.traininfo.common.StationBean.StationEntry; |
import dk.thoerup.android.traininfo.common.StationEntry; |
65 |
import dk.thoerup.traininfo.provider.ProviderFactory; |
import dk.thoerup.traininfo.provider.ProviderFactory; |
66 |
import dk.thoerup.traininfo.provider.StationProvider; |
import dk.thoerup.traininfo.provider.StationProvider; |
67 |
import dk.thoerup.traininfo.stationmap.GeoPair; |
import dk.thoerup.traininfo.stationmap.GeoPair; |
73 |
|
|
74 |
|
|
75 |
|
|
76 |
public static final int OPTIONS_MAP = 2003; |
public static final int OPTIONS_MAP = 103; |
77 |
public static final int OPTIONS_GPSINFO = 2004; |
public static final int OPTIONS_GPSINFO = 104; |
78 |
|
|
79 |
public static final int DLG_PROGRESS = 3001; |
public static final int DLG_PROGRESS = 3001; |
80 |
public static final int DLG_STATIONNAME = 3002; |
public static final int DLG_STATIONNAME = 3002; |
178 |
protected void onDestroy() { |
protected void onDestroy() { |
179 |
super.onDestroy(); |
super.onDestroy(); |
180 |
|
|
181 |
|
stationsFetched.removeMessages(0); |
182 |
|
|
183 |
|
|
184 |
if (locationLookup != null) { |
if (locationLookup != null) { |
185 |
locationLookup.stopSearch(); |
locationLookup.stopSearch(); |
231 |
item.setIcon(android.R.drawable.ic_menu_mapmode); |
item.setIcon(android.R.drawable.ic_menu_mapmode); |
232 |
|
|
233 |
item = menu.add(0, OPTIONS_GPSINFO, 0, getString(stationlist_gpsinfo)); |
item = menu.add(0, OPTIONS_GPSINFO, 0, getString(stationlist_gpsinfo)); |
234 |
item.setIcon(android.R.drawable.ic_menu_mapmode); |
item.setIcon(android.R.drawable.ic_menu_info_details); |
235 |
|
boolean hasLoc = (locationLookup.getLocation() != null); |
236 |
|
item.setEnabled(hasLoc); |
237 |
|
|
238 |
return true; |
return true; |
239 |
} |
} |
240 |
|
|
241 |
|
|
242 |
|
|
243 |
|
|
244 |
@Override |
@Override |
245 |
public boolean onOptionsItemSelected(MenuItem item) { |
public boolean onOptionsItemSelected(MenuItem item) { |
264 |
Location loc = locationLookup.getLocation(); |
Location loc = locationLookup.getLocation(); |
265 |
StringBuffer message = new StringBuffer(); |
StringBuffer message = new StringBuffer(); |
266 |
message.append( getString(stationlist_locationinfo) ).append(":\n"); |
message.append( getString(stationlist_locationinfo) ).append(":\n"); |
267 |
if (loc != null) { |
|
268 |
message.append( getString(stationlist_obtainedby) ).append( loc.getProvider() ).append("\n"); |
message.append( getString(stationlist_obtainedby) ).append( loc.getProvider() ).append("\n"); |
269 |
message.append( getString(stationlist_accuracy) ).append( (int)loc.getAccuracy()).append("m\n"); |
message.append( getString(stationlist_accuracy) ).append( (int)loc.getAccuracy()).append("m\n"); |
270 |
message.append( getString(stationlist_latitude) ).append( (float)loc.getLatitude()).append("\n"); |
message.append( getString(stationlist_latitude) ).append( (float)loc.getLatitude()).append("\n"); |
271 |
message.append( getString(stationlist_longitude) ).append( (float)loc.getLongitude() ).append("\n"); |
message.append( getString(stationlist_longitude) ).append( (float)loc.getLongitude() ).append("\n"); |
272 |
} else { |
|
|
message.append( getString(stationlist_nolocation) ); |
|
|
} |
|
273 |
|
|
274 |
MessageBox.showMessage(this, message.toString(), false); |
MessageBox.showMessage(this, message.toString(), false); |
275 |
break; |
break; |
454 |
MessageBox.showMessage(StationList.this, getString(stationlist_nolocationprovider), true ); |
MessageBox.showMessage(StationList.this, getString(stationlist_nolocationprovider), true ); |
455 |
//StationList.this.finish(); |
//StationList.this.finish(); |
456 |
return; |
return; |
457 |
|
case IDLE: |
458 |
|
Log.e("TrainInfo", "How did this happen ???"); |
459 |
|
dismissDialog(DLG_PROGRESS); // how did we get here ?? |
460 |
|
return; |
461 |
|
|
462 |
} |
} |
463 |
|
|
464 |
|
|
466 |
if (locationLookup.elapsedTime() >= GPS_TIMEOUT_MS) { |
if (locationLookup.elapsedTime() >= GPS_TIMEOUT_MS) { |
467 |
dismissDialog(DLG_PROGRESS); |
dismissDialog(DLG_PROGRESS); |
468 |
|
|
469 |
|
|
470 |
locationLookup.stopSearch(); |
locationLookup.stopSearch(); |
471 |
|
|
472 |
if (locationLookup.hasLocation()) { |
if (locationLookup.hasLocation()) { |