/[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 319 by torben, Fri Sep 11 12:24:53 2009 UTC revision 336 by torben, Wed Sep 23 12:51:49 2009 UTC
# Line 5  import java.util.ArrayList; Line 5  import java.util.ArrayList;
5  import java.util.List;  import java.util.List;
6  import java.util.Locale;  import java.util.Locale;
7    
8    import android.app.AlertDialog;
9  import android.app.Dialog;  import android.app.Dialog;
10  import android.app.ListActivity;  import android.app.ListActivity;
11  import android.app.ProgressDialog;  import android.app.ProgressDialog;
12    import android.content.DialogInterface;
13  import android.content.Intent;  import android.content.Intent;
14  import android.location.Address;  import android.location.Address;
15  import android.location.Geocoder;  import android.location.Geocoder;
# Line 37  public class DepartureList extends ListA Line 39  public class DepartureList extends ListA
39          ProgressDialog pgDialog;          ProgressDialog pgDialog;
40          Dialog detailsDialog;          Dialog detailsDialog;
41          DepartureFetcher fetcher;          DepartureFetcher fetcher;
42            int stationId;
43                    
44          double latitude,longitude;          double latitude,longitude;
45                    
# Line 60  public class DepartureList extends ListA Line 63  public class DepartureList extends ListA
63                  String address = launchedBy.getStringExtra("address");                  String address = launchedBy.getStringExtra("address");
64                  ((TextView) findViewById(R.id.stationAddr)).setText( address );                  ((TextView) findViewById(R.id.stationAddr)).setText( address );
65                                    
66                  int stationId = launchedBy.getIntExtra("stationid", -1);                  stationId = launchedBy.getIntExtra("stationid", -1);
67                                    
68                  findViewById(R.id.header).setOnClickListener( mapLauncher );                  findViewById(R.id.header).setOnClickListener( mapLauncher );
69                                    
# Line 73  public class DepartureList extends ListA Line 76  public class DepartureList extends ListA
76                                    
77                  provider = ProviderFactory.getDepartureProvider();                  provider = ProviderFactory.getDepartureProvider();
78                                    
                 fetcher = new DepartureFetcher();  
79                  if (savedInstanceState == null) {                  if (savedInstanceState == null) {
80                          showDialog(DLG_PROGRESS);                          startDepartureFetcher();
                         fetcher.execute(stationId);  
81                  } else {                  } else {
82                          departures = (List<DepartureBean>) savedInstanceState.getSerializable("departures");                          departures = (List<DepartureBean>) savedInstanceState.getSerializable("departures");
83                          adapter.setDepartures(departures);                          adapter.setDepartures(departures);
# Line 157  public class DepartureList extends ListA Line 158  public class DepartureList extends ListA
158                          return super.onCreateDialog(id);                                          return super.onCreateDialog(id);                
159                  }                  }
160          }          }
161    
162            void startDepartureFetcher() {
163                    showDialog(DLG_PROGRESS);
164                    fetcher = new DepartureFetcher();
165                    fetcher.execute(stationId);
166            }
167                    
168          class DialogDismisser implements View.OnClickListener {          class DialogDismisser implements View.OnClickListener {
169    
# Line 170  public class DepartureList extends ListA Line 177  public class DepartureList extends ListA
177                          if (dlg.isShowing())                          if (dlg.isShowing())
178                                  dlg.dismiss();                                  dlg.dismiss();
179                  }                  }
180          }  
181            
182    }
183                    
184          View.OnClickListener mapLauncher = new View.OnClickListener() {          View.OnClickListener mapLauncher = new View.OnClickListener() {
185                  @Override                  @Override
# Line 179  public class DepartureList extends ListA Line 188  public class DepartureList extends ListA
188                          startActivity( new Intent(Intent.ACTION_VIEW, uri));                          startActivity( new Intent(Intent.ACTION_VIEW, uri));
189                  }                  }
190          };          };
191            
192    
193                    
194          class DepartureFetcher extends AsyncTask<Integer, Void, Void> {          class DepartureFetcher extends AsyncTask<Integer, Void, Void> {
195    
# Line 189  public class DepartureList extends ListA Line 199  public class DepartureList extends ListA
199                  protected void onPostExecute(Void result) {                  protected void onPostExecute(Void result) {
200                          super.onPostExecute(result);                          super.onPostExecute(result);
201                                                    
202                          adapter.setDepartures(departures);                          
203                          pgDialog.dismiss();                          pgDialog.dismiss();
204                                                    
205                          if (success) {                          if (success) {
206                                    adapter.setDepartures(departures);
207                                  if (departures.size() == 0) {                                  if (departures.size() == 0) {
208                                          MessageBox.showMessage(DepartureList.this, "No departures found");                                          MessageBox.showMessage(DepartureList.this, "No departures found");
209                                  }                                  }
210                          } else { // communication or parse error                          } else { // communication or parse error
211                                  MessageBox.showMessage(DepartureList.this, "Error finding departures");                                  AlertDialog.Builder builder = new AlertDialog.Builder(DepartureList.this);                                              
212                                    builder.setMessage("Error finding departures");
213                                    builder.setCancelable(true);
214                                    builder.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
215                                            public void onClick(DialogInterface dialog, int id) {
216                                                    dialog.dismiss();
217                                                    startDepartureFetcher();
218                                                    
219                                            }
220                                    });
221                                    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
222                                            public void onClick(DialogInterface dialog, int id) {
223                                                    dialog.dismiss();
224                                            }                                                      
225                                    });                                                                                            
226                                    builder.show();                        
227                          }                          }
228                  }                  }
229    

Legend:
Removed from v.319  
changed lines
  Added in v.336

  ViewVC Help
Powered by ViewVC 1.1.20