From 7d0114859db915e18e46858cf6ae3a1535c64d8d Mon Sep 17 00:00:00 2001 From: Herbert von Broeuschmeul Date: Wed, 29 Sep 2010 22:42:22 +0200 Subject: add preference settings for connection retries --- res/values-fr/strings.xml | 15 +++++---------- res/values/strings.xml | 17 ++++++----------- res/xml/pref.xml | 6 ++++++ .../gps/bluetooth/provider/BlueetoothGpsManager.java | 11 ++++++++--- .../gps/bluetooth/provider/BluetoothGpsActivity.java | 5 ++++- .../bluetooth/provider/BluetoothGpsProviderService.java | 4 +++- 6 files changed, 32 insertions(+), 26 deletions(-) diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 6923da6..6cbb744 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -29,14 +29,12 @@ Un nouveau location provider sera utilisé Nom du location provider Nom du GPS Bluetooth : %s + Nombre de connexions + "Nombre d'essais avant fermeture : %s" Activer/Désactiver NMEA log Enregistrement du GPS inactif Enregistrement du GPS actif "Paramètres d'enregistrement" - Intervalle de temps - Durée entre les données GPS en millisecondes - Intervalle de distance - Distance entre les données GPS en metres Préfixe Indiquer un préfixe pour les fichiers de traces Dossier @@ -55,12 +53,9 @@ Enregistrement des données NMEA en cours. BlueGps : problème de connexion - "encore un essai avant fermeture" - "encore %d essais avant fermeture" + "Encore un essai avant fermeture" + "Encore %d essais avant fermeture" - BlueGps arrêté - Motif: problèmes de connexion avec le GPS + Motif : problèmes de connexion diff --git a/res/values/strings.xml b/res/values/strings.xml index 6a6fea9..3da0241 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -24,13 +24,13 @@ gpsLocationProviderKey replaceStdtGps mockGpsName + connectionRetries trackRecording trackFileDirectory trackFilePrefix bluetoothDevice - 0.0 - 0 + 5 /sdcard/nmea btnmeatrack bluetooth_gps @@ -48,14 +48,12 @@ Bluetooth GPS will use a new location provider Mock location provider name Bluetooth GPS name: %s + Connection retry number + Number of attempts before exiting: %s Enable/Disable NMEA log Track recording is off Track recording is on Recording parameters - Time between records - Time between records in milliseconds - Distance between records - Distance between records in meters Trackfiles prefix Select the prefix for the track files Trackfiles directory @@ -74,12 +72,9 @@ BlueGps NMEA recording service started BlueGps: connection problem - will retry one more time before closing - will retry %d more times before closing + Will retry one more time before closing + Will retry %d more times before closing - BlueGps stopped Reason: too many connection problems diff --git a/res/xml/pref.xml b/res/xml/pref.xml index 1bede1a..f384034 100644 --- a/res/xml/pref.xml +++ b/res/xml/pref.xml @@ -53,6 +53,12 @@ android:title="@string/pref_mock_gps_name_title" android:defaultValue="@string/defaultMockGpsName" android:summary="@string/pref_mock_gps_name_summary" /> + = 5 )){ + if ((!bluetoothAdapter.isEnabled()) || (connectionTry >= maxConnectionRetries )){ notificationManager.cancel(R.string.connection_problem_notification_title); serviceStoppedNotification.when = System.currentTimeMillis(); notificationManager.notify(R.string.service_closed_because_connection_problem_notification_title, serviceStoppedNotification); diff --git a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java index 85d63ef..b3349b4 100644 --- a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java +++ b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java @@ -100,6 +100,9 @@ public class BluetoothGpsActivity extends PreferenceActivity implements OnPrefer pref = (Preference)findPreference(BluetoothGpsProviderService.PREF_MOCK_GPS_NAME); String mockProvider = sharedPref.getString(BluetoothGpsProviderService.PREF_MOCK_GPS_NAME, getString(R.string.defaultMockGpsName)); pref.setSummary(getString(R.string.pref_mock_gps_name_summary,mockProvider)); + pref = (Preference)findPreference(BluetoothGpsProviderService.PREF_CONNECTION_RETRIES); + String maxConnRetries = sharedPref.getString(BluetoothGpsProviderService.PREF_CONNECTION_RETRIES, getString(R.string.defaultConnectionRetries)); + pref.setSummary(getString(R.string.pref_connection_retries_summary,maxConnRetries)); pref = (Preference)findPreference(BluetoothGpsProviderService.PREF_GPS_LOCATION_PROVIDER); if (sharedPref.getBoolean(BluetoothGpsProviderService.PREF_REPLACE_STD_GPS, true)){ String s = getString(R.string.pref_gps_location_provider_summary); @@ -154,7 +157,7 @@ public class BluetoothGpsActivity extends PreferenceActivity implements OnPrefer } } else if (BluetoothGpsProviderService.PREF_BLUETOOTH_DEVICE.equals(key)){ updateDevicePreferenceSummary(); - } + } this.updateDevicePreferenceList(); } } \ No newline at end of file diff --git a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java index 8e13ef9..ef2410d 100644 --- a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java +++ b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java @@ -64,6 +64,7 @@ public class BluetoothGpsProviderService extends Service implements NmeaListener public static final String PREF_GPS_LOCATION_PROVIDER = "gpsLocationProviderKey"; public static final String PREF_REPLACE_STD_GPS = "replaceStdtGps"; public static final String PREF_MOCK_GPS_NAME = "mockGpsName"; + public static final String PREF_CONNECTION_RETRIES = "connectionRetries"; public static final String PREF_TRACK_RECORDING = "trackRecording"; public static final String PREF_TRACK_FILE_DIR = "trackFileDirectory"; public static final String PREF_TRACK_FILE_PREFIX = "trackFilePrefix"; @@ -87,6 +88,7 @@ public class BluetoothGpsProviderService extends Service implements NmeaListener SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor edit = sharedPreferences.edit(); String deviceAddress = sharedPreferences.getString(PREF_BLUETOOTH_DEVICE, null); + int maxConRetries = Integer.parseInt(sharedPreferences.getString(PREF_CONNECTION_RETRIES, this.getString(R.string.defaultConnectionRetries))); if (Config.LOGD){ Log.d(BluetoothGpsProviderService.class.getName(), "prefs device addr: "+deviceAddress); } @@ -101,7 +103,7 @@ public class BluetoothGpsProviderService extends Service implements NmeaListener if (! sharedPreferences.getBoolean(PREF_REPLACE_STD_GPS, true)){ mockProvider = sharedPreferences.getString(PREF_MOCK_GPS_NAME, getString(R.string.defaultMockGpsName)); } - gpsManager = new BlueetoothGpsManager(this, deviceAddress); + gpsManager = new BlueetoothGpsManager(this, deviceAddress, maxConRetries); gpsManager.enableMockLocationProvider(mockProvider); boolean enabled = gpsManager.enable(); if (sharedPreferences.getBoolean(PREF_START_GPS_PROVIDER, false) != enabled){ -- cgit v1.1