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

Diff of /android/TrainInfo/src/main/java/dk/thoerup/traininfo/WelcomeScreen.java

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

revision 1547 by torben, Thu Jul 7 19:07:55 2011 UTC revision 1550 by torben, Thu Jul 7 20:42:03 2011 UTC
# Line 1  Line 1 
1  package dk.thoerup.traininfo;  package dk.thoerup.traininfo;
2    
3    
4    
5    import java.util.ArrayList;
6    
7  import android.app.Activity;  import android.app.Activity;
8  import android.app.ProgressDialog;  import android.app.ProgressDialog;
9  import android.content.Intent;  import android.content.Intent;
10  import android.content.SharedPreferences;  import android.content.SharedPreferences;
11  import android.content.SharedPreferences.Editor;  import android.content.SharedPreferences.Editor;
12    import android.location.Location;
13  import android.net.Uri;  import android.net.Uri;
14  import android.os.AsyncTask;  import android.os.AsyncTask;
15  import android.os.Bundle;  import android.os.Bundle;
16  import android.os.Handler;  import android.os.Handler;
17  import android.util.Log;  import android.util.Log;
18    import android.view.Menu;
19    import android.view.MenuItem;
20  import android.view.View;  import android.view.View;
21  import android.view.View.OnClickListener;  import android.view.View.OnClickListener;
22  import android.view.Window;  import android.view.Window;
# Line 18  import android.widget.Toast; Line 25  import android.widget.Toast;
25    
26  import com.nullwire.trace.ExceptionHandler;  import com.nullwire.trace.ExceptionHandler;
27    
28    import dk.thoerup.android.traininfo.common.StationEntry;
29  import dk.thoerup.androidutils.CheckUpdates;  import dk.thoerup.androidutils.CheckUpdates;
30  import dk.thoerup.traininfo.provider.OfflineStationProvider;  import dk.thoerup.traininfo.provider.OfflineStationProvider;
31  import dk.thoerup.traininfo.provider.ProviderFactory;  import dk.thoerup.traininfo.provider.ProviderFactory;
32  import dk.thoerup.traininfo.provider.StationProvider;  import dk.thoerup.traininfo.provider.StationProvider;
33    import dk.thoerup.traininfo.stationmap.GeoPair;
34    import dk.thoerup.traininfo.stationmap.StationMapView;
35    import dk.thoerup.traininfo.util.MessageBox;
36    
37  public class WelcomeScreen extends Activity{  public class WelcomeScreen extends Activity{
38                    
39          final static String stationsreload = "stationsreload";          final static String stationsreload = "stationsreload";
40            final static int MENU_SETTINGS = 1;
41            final static int MENU_RELOAD = 2;
42            
43                    
44          public enum ListType {          public enum ListType {
45                  ListNearest,                  ListNearest,
# Line 56  public class WelcomeScreen extends Activ Line 70  public class WelcomeScreen extends Activ
70                  Button favoritesButton = (Button) findViewById(R.id.favorites);                  Button favoritesButton = (Button) findViewById(R.id.favorites);
71                  favoritesButton.setOnClickListener( new StationListListener(ListType.ListFavorites));                  favoritesButton.setOnClickListener( new StationListListener(ListType.ListFavorites));
72                                    
                 Button settingsButton = (Button) findViewById(R.id.settings);  
                 settingsButton.setOnClickListener( new SettingsListener() );  
                   
73                  Button aboutButton = (Button) findViewById(R.id.about);                  Button aboutButton = (Button) findViewById(R.id.about);
74                  aboutButton.setOnClickListener( new AboutListener() );                  aboutButton.setOnClickListener( new AboutListener() );
75                                    
# Line 86  public class WelcomeScreen extends Activ Line 97  public class WelcomeScreen extends Activ
97                                  long last = prefs.getLong(stationsreload, 0);                                  long last = prefs.getLong(stationsreload, 0);
98                                  long now = System.currentTimeMillis();                                  long now = System.currentTimeMillis();
99                                                                    
100                                    Log.i("TrainInfo", "Last Load: " + last);
101                                    
102                                  if ( (now-last) > (14*24*60*60*1000) ) {                                  if ( (now-last) > (14*24*60*60*1000) ) {
103                                          new StationLoader(osp).execute( (Void)null);                                          new StationLoader(osp).execute( (Void)null);
104                                  } else {                                  } else {
# Line 112  public class WelcomeScreen extends Activ Line 125  public class WelcomeScreen extends Activ
125          }          }
126    
127    
128            @Override
129            public boolean onCreateOptionsMenu(Menu menu) {
130                    MenuItem item;
131                    
132                    item = menu.add(0, MENU_SETTINGS, 0, getString(R.string.welcome_settings) );
133                    item.setIcon(android.R.drawable.ic_menu_preferences);
134                    
135                    item = menu.add(0, MENU_RELOAD, 0, getString(R.string.welcome_reloadstations));
136                    item.setIcon(android.R.drawable.ic_menu_rotate);
137                    
138                    return true;
139            }
140            
141            @Override
142            public boolean onOptionsItemSelected(MenuItem item) {
143                    boolean retval = true;
144                    
145                    switch (item.getItemId()) {
146                    case MENU_SETTINGS:
147                            Intent intent = new Intent(WelcomeScreen.this, SettingsScreen.class);
148                            WelcomeScreen.this.startActivity(intent);
149                            break;
150                            
151                    case MENU_RELOAD:
152                            OfflineStationProvider osp = (OfflineStationProvider) ProviderFactory.getStationProvider();
153                            new StationLoader(osp).execute( (Void)null);                    
154                            break;
155                            
156                    default:
157                            retval = super.onOptionsItemSelected(item);
158                    }
159                    
160                    return retval;
161            }
162            
163    
164          class AboutListener implements OnClickListener {          class AboutListener implements OnClickListener {
165    
# Line 133  public class WelcomeScreen extends Activ Line 181  public class WelcomeScreen extends Activ
181    
182          }          }
183                    
         class SettingsListener implements OnClickListener{  
           
                 @Override  
                 public void onClick(View v) {  
                         Intent intent = new Intent(WelcomeScreen.this, SettingsScreen.class);  
                         WelcomeScreen.this.startActivity(intent);  
                 }                
         }  
184    
185          class StationListListener implements OnClickListener{          class StationListListener implements OnClickListener{
186                  ListType launchType;                  ListType launchType;
# Line 163  public class WelcomeScreen extends Activ Line 203  public class WelcomeScreen extends Activ
203                  boolean succeeded;                  boolean succeeded;
204                  ProgressDialog dlg;                  ProgressDialog dlg;
205                  OfflineStationProvider osp;                  OfflineStationProvider osp;
206                    String exMsg;
207                                    
208                  public StationLoader(OfflineStationProvider osp) {                  public StationLoader(OfflineStationProvider osp) {
209                          this.osp = osp;                          this.osp = osp;
# Line 175  public class WelcomeScreen extends Activ Line 216  public class WelcomeScreen extends Activ
216                                  succeeded = true;                                  succeeded = true;
217                          } catch (Exception e) {                          } catch (Exception e) {
218                                  succeeded = false;                                  succeeded = false;
219                                  Toast.makeText(WelcomeScreen.this, "Error " + e.getMessage(), Toast.LENGTH_LONG).show();                                  exMsg = e.getMessage();                        
220                          }                          }
221                          return null;                          return null;
222                  }                  }
# Line 201  public class WelcomeScreen extends Activ Line 242  public class WelcomeScreen extends Activ
242                                  Editor edit = prefs.edit();                                  Editor edit = prefs.edit();
243                                  edit.putLong(stationsreload, System.currentTimeMillis() );                                  edit.putLong(stationsreload, System.currentTimeMillis() );
244                                  edit.commit();                                  edit.commit();
245                            } else {
246                                    Toast.makeText(WelcomeScreen.this, "Error " + exMsg, Toast.LENGTH_LONG).show();
247                          }                          }
248                  }                        }      
249          }          }

Legend:
Removed from v.1547  
changed lines
  Added in v.1550

  ViewVC Help
Powered by ViewVC 1.1.20