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

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

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

revision 1261 by torben, Mon Apr 4 22:14:40 2011 UTC revision 1423 by torben, Mon May 2 17:14:29 2011 UTC
# Line 31  import dk.thoerup.android.traininfo.comm Line 31  import dk.thoerup.android.traininfo.comm
31  import dk.thoerup.android.traininfo.common.DepartureEntry;  import dk.thoerup.android.traininfo.common.DepartureEntry;
32  import dk.thoerup.android.traininfo.common.MetroBean;  import dk.thoerup.android.traininfo.common.MetroBean;
33  import dk.thoerup.android.traininfo.common.MetroBean.MetroEntry;  import dk.thoerup.android.traininfo.common.MetroBean.MetroEntry;
34  import dk.thoerup.android.traininfo.common.StationBean.StationEntry;  import dk.thoerup.android.traininfo.common.StationEntry;
35  import dk.thoerup.traininfo.provider.DepartureProvider;  import dk.thoerup.traininfo.provider.DepartureProvider;
36  import dk.thoerup.traininfo.provider.MetroProvider;  import dk.thoerup.traininfo.provider.MetroProvider;
37  import dk.thoerup.traininfo.provider.ProviderFactory;  import dk.thoerup.traininfo.provider.ProviderFactory;
# Line 429  public class DepartureList extends ListA Line 429  public class DepartureList extends ListA
429                                                    
430                                                    
431                          pgDialog.dismiss();                          pgDialog.dismiss();
432                            
433                          if (departures != null) {                          if (departures != null && departures.errorCode == null) {
434                                  commFailCounter = 0;                                  commFailCounter = 0;
435                                  DepartureList.this.getListView().setVisibility(View.GONE); //Experimental, inspired by http://osdir.com/ml/Android-Developers/2010-04/msg01198.html                                  DepartureList.this.getListView().setVisibility(View.GONE); //Experimental, inspired by http://osdir.com/ml/Android-Developers/2010-04/msg01198.html
436                                  adapter.setDepartures(departures.entries);                                  adapter.setDepartures(departures.entries);
# Line 453  public class DepartureList extends ListA Line 453  public class DepartureList extends ListA
453                                  }                                                                }                              
454                                                                    
455                                  if (departures.entries.size() == 0) {                                  if (departures.entries.size() == 0) {
456                                          MessageBox.showMessage(DepartureList.this, "No departures found", true);                                          int msgId = (arrival==false) ? R.string.departurelist_nodepartures : R.string.departurelist_noarrivals;
457                                            MessageBox.showMessage(DepartureList.this, getString(msgId), false);
458                                  }                                  }
459                          } else { // communication or parse error                          } else { // communication or parse error
460                                  commFailCounter++;                                  commFailCounter++;
461                                  AlertDialog.Builder builder = new AlertDialog.Builder(DepartureList.this);                                                                                AlertDialog.Builder builder = new AlertDialog.Builder(DepartureList.this);
462                                  builder.setMessage("Error finding departures");                                  
463                                    if (departures != null && departures.errorCode != null ) { //got an error xml back
464                                            commFailCounter = 10;
465                                            builder.setMessage( getString(R.string.no_backend) );
466                                    } else {                                        
467                                            builder.setMessage( getString(R.string.departurelist_fetcherror) );            
468                                    }
469                                  builder.setCancelable(true);                                  builder.setCancelable(true);
470                                    
471                                  if (commFailCounter < 3) {                                  if (commFailCounter < 3) {
472                                          builder.setPositiveButton(getString(generic_retry), new DialogInterface.OnClickListener() {                                          builder.setPositiveButton(getString(generic_retry), new DialogInterface.OnClickListener() {
473                                                  public void onClick(DialogInterface dialog, int id) {                                                  public void onClick(DialogInterface dialog, int id) {
# Line 476  public class DepartureList extends ListA Line 484  public class DepartureList extends ListA
484                                          }                                                                                                }                                                      
485                                  });                                  });
486                                                                    
487                                  try {                                  try { //TODO: is this still necessary after the 0.9.4.1 fix ?
488                                          builder.show();                                          builder.show();
489                                  } catch (android.view.WindowManager.BadTokenException e) {                                                                        } catch (android.view.WindowManager.BadTokenException e) {                                      
490                                          Log.i("DepartureList", "BadTokenException"); // this can happen if the user switched away from this activity, while doInBackground was running                                          Log.i("DepartureList", "BadTokenException"); // this can happen if the user switched away from this activity, while doInBackground was running
# Line 582  public class DepartureList extends ListA Line 590  public class DepartureList extends ListA
590                                  builder.setNegativeButton(getString(generic_cancel), new DialogInterface.OnClickListener() {                                  builder.setNegativeButton(getString(generic_cancel), new DialogInterface.OnClickListener() {
591                                          public void onClick(DialogInterface dialog, int id) {                                          public void onClick(DialogInterface dialog, int id) {
592                                                  dialog.dismiss();                                                  dialog.dismiss();
593                                                  DepartureList.this.finish();                                                  DepartureList.this.finish(); //TODO: should we really close the activity ??
594                                          }                                                                                                }                                                      
595                                  });                                  });
596                                                                    
597                                  try {                                  try { //TODO: is this still necessary after the 0.9.4.1 fix ?
598                                          builder.show();                                          builder.show();
599                                  } catch (android.view.WindowManager.BadTokenException e) {                                                                        } catch (android.view.WindowManager.BadTokenException e) {                                      
600                                          Log.i("DepartureList", "BadTokenException"); // this can happen if the user switched away from this activity, while doInBackground was running                                          Log.i("DepartureList", "BadTokenException"); // this can happen if the user switched away from this activity, while doInBackground was running

Legend:
Removed from v.1261  
changed lines
  Added in v.1423

  ViewVC Help
Powered by ViewVC 1.1.20