/[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 237 by torben, Sat Aug 8 19:02:20 2009 UTC revision 239 by torben, Sun Aug 9 09:09:16 2009 UTC
# Line 7  import android.app.Dialog; Line 7  import android.app.Dialog;
7  import android.app.ListActivity;  import android.app.ListActivity;
8  import android.app.ProgressDialog;  import android.app.ProgressDialog;
9  import android.content.Intent;  import android.content.Intent;
10    import android.net.Uri;
11  import android.os.AsyncTask;  import android.os.AsyncTask;
12  import android.os.Bundle;  import android.os.Bundle;
13  import android.view.View;  import android.view.View;
14  import android.widget.ListView;  import android.widget.ListView;
15  import android.widget.TextView;  import android.widget.TextView;
16    import android.widget.Toast;
17  import dk.thoerup.traininfo.provider.DepartureFactory;  import dk.thoerup.traininfo.provider.DepartureFactory;
18  import dk.thoerup.traininfo.provider.DepartureProvider;  import dk.thoerup.traininfo.provider.DepartureProvider;
19    
# Line 29  public class DepartureList extends ListA Line 31  public class DepartureList extends ListA
31                    
32          ProgressDialog pgDialog;          ProgressDialog pgDialog;
33                    
34            DepartureFetcher fetcher;
35            
36            double latitude,longitude;
37            
38          @Override          @Override
39          protected void onCreate(Bundle savedInstanceState) {          protected void onCreate(Bundle savedInstanceState) {
40                  super.onCreate(savedInstanceState);                  super.onCreate(savedInstanceState);
# Line 38  public class DepartureList extends ListA Line 44  public class DepartureList extends ListA
44                  setListAdapter(adapter);                  setListAdapter(adapter);
45                                    
46                  Intent launchedBy = getIntent();                  Intent launchedBy = getIntent();
47                    
48                    latitude = launchedBy.getDoubleExtra("latitude", 0.0);
49                    longitude = launchedBy.getDoubleExtra("longitude", 0.0);
50                    
51                  String name = launchedBy.getStringExtra("name");                  String name = launchedBy.getStringExtra("name");
52                  ((TextView) findViewById(R.id.stationName)).setText( name );                  ((TextView) findViewById(R.id.stationName)).setText( name );
53                                    
54                  String addr = launchedBy.getStringExtra("address");                  String addr = launchedBy.getStringExtra("address");
55                  ((TextView) findViewById(R.id.stationAddr)).setText( addr );                  ((TextView) findViewById(R.id.stationAddr)).setText( addr );
56                                    
57                    findViewById(R.id.header).setOnClickListener( mapLauncher );
58                                    
59                  NumberFormat format = NumberFormat.getNumberInstance();                  NumberFormat format = NumberFormat.getNumberInstance();
60                  format.setMaximumFractionDigits(1);                  format.setMaximumFractionDigits(1);
# Line 51  public class DepartureList extends ListA Line 62  public class DepartureList extends ListA
62                  int distance = launchedBy.getIntExtra("distance", 0);                  int distance = launchedBy.getIntExtra("distance", 0);
63                  ((TextView) findViewById(R.id.stationDistance)).setText( format.format((double)distance/1000.0) + " km." );                  ((TextView) findViewById(R.id.stationDistance)).setText( format.format((double)distance/1000.0) + " km." );
64                    
65                    
66                  showDialog(DLG_PROGRESS);                  showDialog(DLG_PROGRESS);
67                  provider = DepartureFactory.getProvider();                  provider = DepartureFactory.getProvider();
68                  provider.lookupDepartures(name);                  
69                  departures = provider.getDepartures();                  fetcher = new DepartureFetcher();
70                  adapter.setDepartures(departures);                  fetcher.execute(name);
                 pgDialog.dismiss();  
71          }          }
72                    
73          @Override          @Override
# Line 125  public class DepartureList extends ListA Line 136  public class DepartureList extends ListA
136                                  dlg.dismiss();                                  dlg.dismiss();
137                  }                  }
138          }          }
139            
140            View.OnClickListener mapLauncher = new View.OnClickListener() {
141                    @Override
142                    public void onClick(View v) {
143                            Uri uri = Uri.parse("geo:" + latitude + "," + longitude);
144                            startActivity( new Intent(Intent.ACTION_VIEW, uri));
145                    }
146            };
147            
148            
149            class DepartureFetcher extends AsyncTask<String, Void, Void> {
150    
151                    @Override
152                    protected void onPostExecute(Void result) {
153                            super.onPostExecute(result);
154                            
155                            adapter.setDepartures(departures);
156                            pgDialog.dismiss();
157                            
158                            if (departures.size() == 0)
159                                    Toast.makeText(DepartureList.this, "No departures found", Toast.LENGTH_LONG);
160                    }
161    
162                    @Override
163                    protected Void doInBackground(String... params) {
164                            provider.lookupDepartures(params[0]);
165                            departures = provider.getDepartures();
166                            return null;
167                    }
168                    
169            }
170  }  }

Legend:
Removed from v.237  
changed lines
  Added in v.239

  ViewVC Help
Powered by ViewVC 1.1.20