/[projects]/android/TrainInfo/src/dk/thoerup/traininfo/StationList.java
ViewVC logotype

Diff of /android/TrainInfo/src/dk/thoerup/traininfo/StationList.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 564 by torben, Thu Jan 28 09:16:33 2010 UTC revision 652 by torben, Tue Apr 20 14:17:34 2010 UTC
# Line 18  import android.os.Bundle; Line 18  import android.os.Bundle;
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;
# Line 334  public class StationList extends ListAct Line 335  public class StationList extends ListAct
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          }          }
# Line 346  public class StationList extends ListAct Line 347  public class StationList extends ListAct
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 ) );
# Line 364  public class StationList extends ListAct Line 365  public class StationList extends ListAct
365                  findStationsTask.searchByLocation( locationLookup.getLocation() );                  findStationsTask.searchByLocation( locationLookup.getLocation() );
366                  findStationsTask.execute();                      findStationsTask.execute();    
367          }          }
           
   
         /* TODO: Remove this no longer needed function  
         String lookupAddress(double latitude, double longitude) {  
368                                    
                 Geocoder coder = new Geocoder(this, new Locale("da"));  
                 StringBuilder sb = new StringBuilder();  
                 Log.i("lookupaddr", "" + latitude + "/" + longitude);  
                 try {  
                         List<Address> addressList = coder.getFromLocation(latitude, longitude, 1);  
                         Address addr = addressList.get(0);  
                           
                           
                         int max = addr.getMaxAddressLineIndex();  
                         for (int i=0; i<max; i++) {  
                                 if (i>0)  
                                         sb.append(", ");  
                                   
                                 sb.append(addr.getAddressLine(i));  
                         }  
                           
                           
                 } catch (Exception e) {  
                         Log.e("DepartureList", "geocoder failed", e);  
                 }  
                   
                 return sb.toString();  
         }*/  
           
369                    
370          ////////////////////////////////////////////////////////////////////////////          ////////////////////////////////////////////////////////////////////////////
371          // Inner classes          // Inner classes
# Line 456  public class StationList extends ListAct Line 429  public class StationList extends ListAct
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                                    
# Line 468  public class StationList extends ListAct Line 440  public class StationList extends ListAct
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                                    
# Line 501  public class StationList extends ListAct Line 472  public class StationList extends ListAct
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    
# Line 528  public class StationList extends ListAct Line 482  public class StationList extends ListAct
482                                                    
483                                                    
484                          if (success) {                                                    if (success) {                          
485                                  if (stationProvider.getStations().size() == 0)                                  if (stationProvider.getStations().size() == 0) {
486                                          MessageBox.showMessage(StationList.this, getString(stationlist_nostations) ); // this should not be possible !?!                                          showMessageAndClose(getString(stationlist_nostations));
487                                    }
488                                  stations = stationProvider.getStations();                                  stations = stationProvider.getStations();
489                                  adapter.setStations( stations );                                                                  adapter.setStations( stations );                                
490                                                                    
# Line 541  public class StationList extends ListAct Line 496  public class StationList extends ListAct
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          }          }

Legend:
Removed from v.564  
changed lines
  Added in v.652

  ViewVC Help
Powered by ViewVC 1.1.20