18 |
import android.os.Handler; |
import android.os.Handler; |
19 |
import android.os.Message; |
import android.os.Message; |
20 |
|
|
21 |
|
import android.util.Log; |
22 |
import android.view.ContextMenu; |
import android.view.ContextMenu; |
23 |
import android.view.LayoutInflater; |
import android.view.LayoutInflater; |
24 |
import android.view.Menu; |
import android.view.Menu; |
335 |
showDialog(DLG_PROGRESS); |
showDialog(DLG_PROGRESS); |
336 |
|
|
337 |
findStationsTask = new FindStationsTask(); |
findStationsTask = new FindStationsTask(); |
338 |
findStationsTask.searchByName(name, locationLookup.getLocation()); |
findStationsTask.searchByName(name); |
339 |
findStationsTask.execute(); |
findStationsTask.execute(); |
340 |
|
|
341 |
} |
} |
347 |
showDialog(DLG_PROGRESS); |
showDialog(DLG_PROGRESS); |
348 |
|
|
349 |
findStationsTask = new FindStationsTask(); |
findStationsTask = new FindStationsTask(); |
350 |
findStationsTask.searchByIds(favorites.toString(), locationLookup.getLocation()); |
findStationsTask.searchByIds( favorites.toString() ); |
351 |
findStationsTask.execute(); |
findStationsTask.execute(); |
352 |
} else { |
} else { |
353 |
showMessageAndClose( getString( stationlist_nofavorites ) ); |
showMessageAndClose( getString( stationlist_nofavorites ) ); |
429 |
Location loc; |
Location loc; |
430 |
String ids; |
String ids; |
431 |
|
|
432 |
public void searchByName(String n, Location l) { |
public void searchByName(String n) { |
433 |
|
|
434 |
method = LookupMethod.ByName; |
method = LookupMethod.ByName; |
|
loc = l; |
|
435 |
name = n; |
name = n; |
436 |
} |
} |
437 |
|
|
440 |
loc = l; |
loc = l; |
441 |
} |
} |
442 |
|
|
443 |
public void searchByIds(String id, Location l) { |
public void searchByIds(String id) { |
444 |
|
|
445 |
method = LookupMethod.ByList; |
method = LookupMethod.ByList; |
|
loc = l; |
|
446 |
ids = id; |
ids = id; |
447 |
} |
} |
448 |
|
|
472 |
} |
} |
473 |
|
|
474 |
|
|
|
Location dummy = new Location("gps"); |
|
|
List<StationBean> stations = stationProvider.getStations(); |
|
|
|
|
|
for (StationBean station : stations) { |
|
|
|
|
|
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()); |
|
|
dummy.setLongitude(station.getLongitude()); |
|
|
station.setDistance( (int)loc.distanceTo(dummy) ); |
|
|
} else { |
|
|
station.setDistance(0); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
475 |
return null; |
return null; |
476 |
} |
} |
477 |
|
|
496 |
public void onClick(DialogInterface dialog, int id) { |
public void onClick(DialogInterface dialog, int id) { |
497 |
dialog.dismiss(); |
dialog.dismiss(); |
498 |
|
|
499 |
stationsFetched.post( new Runnable() { |
Runnable runner = null; |
500 |
@Override |
switch (method) { |
501 |
public void run() { |
case ByLocation: |
502 |
startLocatorTask(); |
runner = new Runnable() { |
503 |
} |
@Override |
504 |
}); |
public void run() { |
505 |
|
startLocatorTask(); |
506 |
|
} |
507 |
|
}; |
508 |
|
break; |
509 |
|
case ByName: |
510 |
|
runner = new Runnable() { |
511 |
|
@Override |
512 |
|
public void run() { |
513 |
|
startNameSearch( FindStationsTask.this.name ); |
514 |
|
} |
515 |
|
}; |
516 |
|
break; |
517 |
|
case ByList: |
518 |
|
runner = new Runnable() { |
519 |
|
@Override |
520 |
|
public void run() { |
521 |
|
startFavoriteLookup(); |
522 |
|
} |
523 |
|
}; |
524 |
|
break; |
525 |
|
} |
526 |
|
|
527 |
|
stationsFetched.post( runner ); |
528 |
} |
} |
529 |
}); |
}); |
530 |
builder.setNegativeButton(getString(generic_cancel), new DialogInterface.OnClickListener() { |
builder.setNegativeButton(getString(generic_cancel), new DialogInterface.OnClickListener() { |
531 |
public void onClick(DialogInterface dialog, int id) { |
public void onClick(DialogInterface dialog, int id) { |
532 |
dialog.dismiss(); |
dialog.dismiss(); |
533 |
} |
} |
534 |
}); |
}); |
535 |
builder.show(); |
try { |
536 |
|
builder.show(); |
537 |
|
} catch (android.view.WindowManager.BadTokenException e) { |
538 |
|
Log.i("StationList", "BadTokenException"); // this can happen if the user switched away from this activity, while doInBackground was running |
539 |
|
} |
540 |
} |
} |
541 |
} |
} |
542 |
} |
} |