]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/WhereAmI.java
introduce preferences
[WhereAmI.git] / src / org / average / whereami / WhereAmI.java
index 2323f5421f0800c2d3c90175d432055144af8f4f..1d3c2686e26da6b773d8da8b0042efab0bbc6bd8 100644 (file)
@@ -1,5 +1,7 @@
 package org.average.whereami;
 
+import org.average.whereami.WhereAmIprefs;
+
 import android.app.Activity;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
@@ -13,6 +15,7 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.Context;
 import android.content.res.Resources;
+import android.content.SharedPreferences;
 import android.text.format.Time;
 import android.util.Log;
 import android.view.View;
@@ -27,6 +30,7 @@ public class WhereAmI extends Activity
 {
     private WifiManager wifiman;
     private Integer runningtasks = 0;
+    private SharedPreferences prefs;
 
     private class UpdateTarget {
         private TextView tv;
@@ -126,6 +130,7 @@ public class WhereAmI extends Activity
             IntentFilter intentFilter =
                 new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
             registerReceiver(connChanged,intentFilter);
+            connChangedRegistered = true;
             boolean wifion = wifiman.setWifiEnabled(true);
             Log.w("WhereAmI", "enabling wifi result " + wifion);
             mHandler.postDelayed(resetInfo, 30000);
@@ -136,7 +141,10 @@ public class WhereAmI extends Activity
     private Runnable resetInfo = new Runnable () {
         public void run() {
             Log.w("WhereAmI", "resetInfo starting");
-            unregisterReceiver(connChanged);
+            if (connChangedRegistered) {
+                unregisterReceiver(connChanged);
+                connChangedRegistered = false;
+            }
             if (runningtasks > 0) {
                 for (int i = 0; i < ut.length; i++) {
                     ut[i].cancel();
@@ -151,6 +159,7 @@ public class WhereAmI extends Activity
         }
     };
 
+    private boolean connChangedRegistered = false;
     private final BroadcastReceiver connChanged = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
@@ -174,12 +183,16 @@ public class WhereAmI extends Activity
     public void onCreate(Bundle savedInstanceState)
     {
         super.onCreate(savedInstanceState);
+        prefs = getSharedPreferences("WhereAmI", MODE_PRIVATE);
         wifiman = (WifiManager)getSystemService(Context.WIFI_SERVICE);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
-        //getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
-        //getWindow().clearFlags(WindowManager.LayoutParams.
-        //                                      FLAG_FORCE_NOT_FULLSCREEN);
+        boolean fullscreen = prefs.getBoolean("fullscreen", false);
+        if (fullscreen) {
+            getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+            getWindow().clearFlags(WindowManager.LayoutParams.
+                                                  FLAG_FORCE_NOT_FULLSCREEN);
+        }
         setContentView(R.layout.main);
         res = getResources();
         month = res.getStringArray(R.array.month);
@@ -203,8 +216,7 @@ public class WhereAmI extends Activity
     public void onPause()
     {
         super.onPause();
-        Log.w("WhereAmI", "calling finish");
-        finish();
+        Log.w("WhereAmI", "going background");
     }
 
     /** Called when the activity is destroyed. */
@@ -216,7 +228,10 @@ public class WhereAmI extends Activity
        mHandler.removeCallbacks(updateClock);
        mHandler.removeCallbacks(updateCal);
        mHandler.removeCallbacks(updateInfo);
-        //unregisterReceiver(connChanged);
+        if (connChangedRegistered) {
+            unregisterReceiver(connChanged);
+            connChangedRegistered = false;
+        }
         boolean wifion = wifiman.setWifiEnabled(false);
         Log.w("WhereAmI", "disabling wifi result " + wifion);
     }
@@ -238,6 +253,7 @@ public class WhereAmI extends Activity
             return true;
         case R.id.settings:
             Log.w("WhereAmI", "settings requested");
+            startActivity(new Intent(this, WhereAmIprefs.class));
             return true;
         default:
             return super.onOptionsItemSelected(item);