]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/WhereAmI.java
make configurable calendar selection
[WhereAmI.git] / src / org / average / whereami / WhereAmI.java
index 16d11256c67ed5ca549eb9afdf3b772b0f27caea..d127fedc0a53351082dc0fe304954e3280d5742d 100644 (file)
@@ -3,7 +3,7 @@ package org.average.whereami;
 import org.average.whereami.WhereAmIprefs;
 import org.average.whereami.Oracle;
 import org.average.whereami.PhoneLog;
-import org.average.whereami.Location;
+import org.average.whereami.LastLocation;
 
 import android.app.Activity;
 import android.net.wifi.WifiManager;
@@ -38,6 +38,7 @@ public class WhereAmI extends Activity
     private Long updatedelay = 60000L;
     private Integer runningtasks = 0;
     private SharedPreferences prefs;
+    private PersistentStore store;
 
     private class UpdateTarget {
         private TextView tv;
@@ -57,8 +58,10 @@ public class WhereAmI extends Activity
                 tv.setText(str);
                 runningtasks--;
                 if (runningtasks <= 0) {
-                    boolean wifion = wifiman.setWifiEnabled(false);
-                    Log.w(TAG, "disabling wifi result " + wifion);
+                    if (managewifi) {
+                        boolean wifion = wifiman.setWifiEnabled(false);
+                        Log.w(TAG, "disabling wifi result " + wifion);
+                    }
                     Time tm = new Time();
                     tm.setToNow();
                     tvs.setText(R.string.lasttry);
@@ -145,8 +148,8 @@ public class WhereAmI extends Activity
                     ut[i].launch();
                 }
             }
-            mHandler.postDelayed(resetInfo, updatedelay);
-            mHandler.postDelayed(this, 60000);
+            mHandler.postDelayed(resetInfo, 50000);
+            mHandler.postDelayed(this, updatedelay);
         }
     };
 
@@ -196,6 +199,8 @@ public class WhereAmI extends Activity
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        prefs = PreferenceManager.getDefaultSharedPreferences(this);
+        store = new PersistentStore(prefs);
         wifiman = (WifiManager)getSystemService(Context.WIFI_SERVICE);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
@@ -208,9 +213,9 @@ public class WhereAmI extends Activity
         tvs = (TextView)findViewById(R.id.timestamp);
        ut = new UpdateTarget[] {
             new UpdateTarget((TextView)findViewById(R.id.location),
-                             new PhoneLog()),
+                             new PhoneLog(res, store)),
             new UpdateTarget((TextView)findViewById(R.id.phonecall),
-                             new Location())
+                             new LastLocation(res, store))
         };
         Log.w(TAG, "created UI, about to start update task");
        mHandler.post(updateClock);
@@ -223,10 +228,12 @@ public class WhereAmI extends Activity
     @Override
     public void onResume() {
         super.onResume();
-        prefs = PreferenceManager.getDefaultSharedPreferences(this);
         boolean fullscreen = prefs.getBoolean("fullscreen", false);
         managewifi = prefs.getBoolean("managewifi", false);
         updatedelay = Long.parseLong(prefs.getString("updateperiod", "1200000"));
+        Log.w("WhereAmI", "fullscreen: " + fullscreen +
+                          ", managewifi: " + managewifi +
+                          ", updatedelay: " + updatedelay);
         if (fullscreen) {
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
             getWindow().clearFlags(WindowManager.LayoutParams.
@@ -255,8 +262,10 @@ public class WhereAmI extends Activity
             unregisterReceiver(connChanged);
             connChangedRegistered = false;
         }
-        boolean wifion = wifiman.setWifiEnabled(false);
-        Log.w(TAG, "disabling wifi result " + wifion);
+        if (managewifi) {
+            boolean wifion = wifiman.setWifiEnabled(false);
+            Log.w(TAG, "disabling wifi result " + wifion);
+        }
     }
 
     /** Called when the menu is activated. */