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
