make wifi management configurable
authorEugene Crosser <crosser@average.org>
Mon, 30 Jan 2012 20:13:18 +0000 (00:13 +0400)
committerEugene Crosser <crosser@average.org>
Mon, 30 Jan 2012 20:13:18 +0000 (00:13 +0400)
res/layout/main.xml
res/values/strings.xml
res/xml/preferences.xml
src/org/average/whereami/WhereAmI.java

index 1803a66f32dc946d9e25475c8a035f19c7786d10..dce5deb18df71d8a35e4b576f4f7fa8fca692a54 100644 (file)
@@ -48,7 +48,7 @@
     android:layout_weight="3"
     android:textColor="#ff000000"
     android:textSize="24sp"
-    android:text="location"
+    android:text="@string/location"
   />
   <View
     android:layout_width="match_parent"
@@ -63,7 +63,7 @@
     android:layout_weight="3"
     android:textColor="#ff000000"
     android:textSize="24sp"
-    android:text="phonecall"
+    android:text="@string/phonecall"
   />
   <View
     android:layout_width="match_parent"
index f78b682ada5613b193aeae49f603f21a114eac54..5d803211630992701da6628be58b0838f6554c38 100644 (file)
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <string name="app_name">WhereAmI</string>
+    <string name="location">Местоположение</string>
+    <string name="phonecall">Телефонный разговор</string>
     <string name="updating">Обновление...</string>
     <string name="failure">Неудача</string>
     <string name="lasttry">Последнее обновление</string>
@@ -9,6 +11,8 @@
     <string name="settings">Конфигурация</string>
     <string name="fullscreentitle">Полный экран</string>
     <string name="fullscreensummary">Полный экран или с индикаторами</string>
+    <string name="managewifititle">Управление WiFi</string>
+    <string name="managewifisummary">Отключать WiFi между обновлениями</string>
     <string name="updatetitle">Периодичность обновления</string>
     <string name="updatesummary">Как часто обновлять информацию</string>
     <string-array name="month">
index 5d9eece5ea46ea92b980d961ba8829c66715e3e1..bb3c0548f2c2100a394d9318d58f01a1dbadfb76 100644 (file)
@@ -1,11 +1,17 @@
-<PreferenceScreen
-  xmlns:android="http://schemas.android.com/apk/res/android">
+<?xml version="1.0" encoding="utf-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
     <CheckBoxPreference
       android:key="fullscreen"
       android:title="@string/fullscreentitle"
       android:summary="@string/fullscreensummary"
       android:defaultValue="false"
     />
+    <CheckBoxPreference
+      android:key="managewifi"
+      android:title="@string/managewifititle"
+      android:summary="@string/managewifisummary"
+      android:defaultValue="false"
+    />
     <ListPreference
       android:key="updateperiod"
       android:title="@string/updatetitle"
index 49abbe2919af7262b22fcabe30b5629f9bfc2b43..2c197cf73028e222e7a05c11757be645a69c56b6 100644 (file)
@@ -30,6 +30,7 @@ import android.widget.TextView;
 public class WhereAmI extends Activity
 {
     private WifiManager wifiman;
+    private Boolean managewifi = false;
     private Long updatedelay = 60000L;
     private Integer runningtasks = 0;
     private SharedPreferences prefs;
@@ -129,12 +130,19 @@ public class WhereAmI extends Activity
     private Runnable updateInfo = new Runnable () {
         public void run() {
             Log.w("WhereAmI", "updateInfo starting");
-            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);
+            if (managewifi) {
+                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);
+            } else {
+                for (int i = 0; i < ut.length; i++) {
+                    runningtasks++;
+                    ut[i].launch();
+                }
+            }
             mHandler.postDelayed(resetInfo, updatedelay);
             mHandler.postDelayed(this, 60000);
         }
@@ -156,8 +164,10 @@ public class WhereAmI extends Activity
                 tvs.setText(R.string.failtry);
                 tvs.append(tm.format(" %d/%m/%Y %H:%M:%S"));
             }
-            boolean wifion = wifiman.setWifiEnabled(false);
-            Log.w("WhereAmI", "disabling wifi result " + wifion);
+            if (managewifi) {
+                boolean wifion = wifiman.setWifiEnabled(false);
+                Log.w("WhereAmI", "disabling wifi result " + wifion);
+            }
         }
     };
 
@@ -211,6 +221,7 @@ public class WhereAmI extends Activity
         super.onResume();
         prefs = PreferenceManager.getDefaultSharedPreferences(this);
         boolean fullscreen = prefs.getBoolean("fullscreen", false);
+        managewifi = prefs.getBoolean("managewifi", false);
         updatedelay = Long.parseLong(prefs.getString("updateperiod", "1200000"));
         if (fullscreen) {
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);