Fixes: http://github.com/mozilla/MozStumbler/issues/93

Signed-off-by: Przemo Firszt <[email protected]>
---
 res/values/strings.xml                                    |  3 +++
 res/xml/stumbler_preferences.xml                          |  6 ++++++
 src/org/mozilla/mozstumbler/client/MainActivity.java      |  3 +++
 src/org/mozilla/mozstumbler/client/MainApp.java           |  2 +-
 src/org/mozilla/mozstumbler/client/PreferencesScreen.java | 10 ++++++++++
 src/org/mozilla/mozstumbler/service/Prefs.java            |  9 +++++++++
 6 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/res/values/strings.xml b/res/values/strings.xml
index 2ee6a4a..5532315 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -82,6 +82,9 @@
     <string name="wifi_scan_always_title">Always scan Wi-Fi</string>
     <string name="wifi_scan_always_summary">Scan APs even when Wi-Fi is turned 
off</string>
 
+    <string name="immediate_scan_start_title">Start scan without 
prompt</string>
+    <string name="immediate_scan_start_summary">Start scan immediately without 
prompt</string>
+
     <string name="refresh_map">Refresh location</string>
 
     <string name="title_activity_log">Log</string>
diff --git a/res/xml/stumbler_preferences.xml b/res/xml/stumbler_preferences.xml
index 75983c2..284d95a 100644
--- a/res/xml/stumbler_preferences.xml
+++ b/res/xml/stumbler_preferences.xml
@@ -29,4 +29,10 @@
         android:summary="@string/wifi_scan_always_summary"
         android:defaultValue="false" />
 
+    <CheckBoxPreference
+        android:key="immediate_scan_start"
+        android:title="@string/immediate_scan_start_title"
+        android:summary="@string/immediate_scan_start_summary"
+        android:defaultValue="false" />
+
 </PreferenceScreen>
diff --git a/src/org/mozilla/mozstumbler/client/MainActivity.java 
b/src/org/mozilla/mozstumbler/client/MainActivity.java
index 1e64b09..0b4e21a 100644
--- a/src/org/mozilla/mozstumbler/client/MainActivity.java
+++ b/src/org/mozilla/mozstumbler/client/MainActivity.java
@@ -69,6 +69,9 @@ public final class MainActivity extends FragmentActivity {
         setGeofenceText();
 
         updateUI();
+        if (getApp().getPrefs().getImmediateScanStart()) {
+               getApp().startScanning();
+       }
     }
 
     @Override
diff --git a/src/org/mozilla/mozstumbler/client/MainApp.java 
b/src/org/mozilla/mozstumbler/client/MainApp.java
index d2ea11d..d6e62f6 100644
--- a/src/org/mozilla/mozstumbler/client/MainApp.java
+++ b/src/org/mozilla/mozstumbler/client/MainApp.java
@@ -113,7 +113,7 @@ public class MainApp extends Application {
         Log.d(LOGTAG, "onStop");
     }
 
-    private void startScanning() {
+    public void startScanning() {
         mStumblerService.startForeground(NOTIFICATION_ID, buildNotification());
         mStumblerService.startScanning();
     }
diff --git a/src/org/mozilla/mozstumbler/client/PreferencesScreen.java 
b/src/org/mozilla/mozstumbler/client/PreferencesScreen.java
index 06e0f13..03d6f48 100644
--- a/src/org/mozilla/mozstumbler/client/PreferencesScreen.java
+++ b/src/org/mozilla/mozstumbler/client/PreferencesScreen.java
@@ -25,6 +25,7 @@ public class PreferencesScreen extends PreferenceActivity {
     private Preference mGeofenceHere;
     private CheckBoxPreference mWifiScanAlwaysSwitch;
     private CheckBoxPreference mWifiPreference;
+    private CheckBoxPreference mImmediateScanStart;
 
     private static Prefs sPrefs;
 
@@ -47,6 +48,7 @@ public class PreferencesScreen extends PreferenceActivity {
         mGeofenceSwitch = (CheckBoxPreference) 
getPreferenceManager().findPreference("geofence_switch");
         mGeofenceHere = getPreferenceManager().findPreference("geofence_here");
         mWifiScanAlwaysSwitch = 
(CheckBoxPreference)getPreferenceManager().findPreference(Prefs.WIFI_SCAN_ALWAYS);
+        mImmediateScanStart = (CheckBoxPreference) 
getPreferenceManager().findPreference(Prefs.IMMEDIATE_SCAN_START);
 
         setNicknamePreferenceTitle(sPrefs.getNickname());
         mWifiPreference.setChecked(sPrefs.getUseWifiOnly());
@@ -111,6 +113,14 @@ public class PreferencesScreen extends PreferenceActivity {
                 return true;
             }
         });
+
+        mImmediateScanStart.setOnPreferenceChangeListener(new 
OnPreferenceChangeListener() {
+            @Override
+            public boolean onPreferenceChange(Preference preference, Object 
newValue) {
+                sPrefs.setImmediateScanStart(newValue.equals(true));
+                return true;
+            }
+        });
     }
     private void setGeofenceHereDesc(boolean state) {
         if (state) {
diff --git a/src/org/mozilla/mozstumbler/service/Prefs.java 
b/src/org/mozilla/mozstumbler/service/Prefs.java
index 5355cd0..0ea96d8 100644
--- a/src/org/mozilla/mozstumbler/service/Prefs.java
+++ b/src/org/mozilla/mozstumbler/service/Prefs.java
@@ -24,6 +24,7 @@ public final class Prefs {
     private static final String     GEOFENCE_HERE = "geofence_here";
     private static final String     GEOFENCE_SWITCH = "geofence_switch";
     public  static final String     WIFI_SCAN_ALWAYS = "wifi_scan_always";
+    public  static final String     IMMEDIATE_SCAN_START = 
"immediate_scan_start";
 
     private final SharedPreferences mSharedPrefs;
     static private Prefs sInstance;
@@ -78,6 +79,10 @@ public final class Prefs {
         apply(editor);
     }
 
+    public void setImmediateScanStart(boolean state) {
+        setBoolPref(IMMEDIATE_SCAN_START, state);
+    }
+
     ///
     /// Getters
     ///
@@ -113,6 +118,10 @@ public final class Prefs {
         return getBoolPrefWithDefault(WIFI_SCAN_ALWAYS, false);
     }
 
+    public boolean getImmediateScanStart() {
+        return getBoolPrefWithDefault(IMMEDIATE_SCAN_START, false);
+    }
+
     ///
     /// Privates
     ///
-- 
1.9.3

_______________________________________________
dev-geolocation mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-geolocation

Reply via email to