Commit Graph

57 Commits

Author SHA1 Message Date
Dennis Guse 2fe452c77c Revert "fix NPE at null barometer after unregister listener"
This reverts commit 5dbd17f3bb.
2023-12-26 08:42:38 +01:00
Dennis Guse 150cbee95b BarometerInternal: if there is no internal barometer - don't register a listener. 2023-12-25 18:48:14 +01:00
Dennis Guse 47ceb297c9 SensorManager: crash if started twice.
Part of #1780.
2023-12-24 22:10:58 +01:00
Dennis Guse aed4af5736 Bluetooth logs: make them slightly more readable. 2023-12-24 21:49:48 +01:00
Dennis Guse d08552a07b Bugfix: cycling cadence data should be handled by BluetoothHandlerCyclingCadence.
Fixes #1787.

Introduced in 15f3ccbcbd
2023-12-17 22:37:32 +01:00
Dennis Guse 24212a226e Bugfix: prevent crash when ending a recording (barometer present).
Fixes #1766.
2023-12-09 10:04:50 +01:00
Peter Storch 5dbd17f3bb fix NPE at null barometer after unregister listener 2023-11-22 21:24:36 +01:00
Dennis Guse caf8b5526d Bugfix: BarometerInternal shouldn't send data after disconnect().
Part of #1424.
2023-11-21 07:18:10 +01:00
Dennis Guse 8d5a7e7e8b Barometer: use sensor aggregator.
Part of #1424.
2023-11-20 06:39:28 +01:00
Dennis Guse 5c7731bb1f Bugfix: removing sensor didn't remove the aggregator.
Introduced in 58d79380cf.
2023-11-16 06:53:48 +01:00
Dennis Guse ce21fe3569 Cleanup: renamed SensorData* to Aggregator*. 2023-11-15 18:41:13 +01:00
Dennis Guse d47fa27e02 Cleanup: SensorDataCyclingDistanceSpeed.Data is a record. 2023-11-15 07:26:04 +01:00
Dennis Guse 58d79380cf Sensors: separate data generation and aggregation.
Part of #1424.
2023-11-15 07:20:42 +01:00
Dennis Guse 15f3ccbcbd Bluetooth: rename to BluetoothHandlers. 2023-11-06 18:09:19 +01:00
Dennis Guse f2594371d3 Bluetooth: inline BluetoothUtils into Handler classes. 2023-11-06 18:09:19 +01:00
Dennis Guse 4d54472c93 Bluetooth: use composition instead of inheritance.
Part of #1424.
2023-11-06 18:09:19 +01:00
Dennis Guse 3a2a62a6d7 Bluetooth: send sensor data directly to SensorManager.
Part of #1424.
2023-11-06 18:09:19 +01:00
Dennis Guse 17487961ad Bluetooth: upgrade minSDK=26 for simplification (race condition prevention).
Part of #1424.
2023-11-06 18:09:19 +01:00
Dennis Guse 205c5c7528 SensorManager and GPSManager: prefer to crash rather than hide usage errors. 2023-08-13 21:11:24 +02:00
Dennis Guse 4d5c59be96 TrackRecordingService: must be stopped via TrackRecordingServiceConnection and handles Preference changes. 2023-08-13 21:11:24 +02:00
Dennis Guse 1a5acc8f2d Cleanup using AndroidStudio analyze. 2023-06-21 23:15:04 +02:00
Dennis Guse 1c825b052e Bugfix: prevent crash if sensor that need computation disconnect (or connection timeout). 2023-06-16 22:48:49 +02:00
Dennis Guse 75a88ca0e1 Bugfix: prevent crash if sensor that need computation disconnect (or connection timeout).
java.lang.Object.equals(java.lang.Object)' on a null object reference
	at de.dennisguse.opentracks.sensors.sensorData.SensorDataSet.set(SensorDataSet.java:171)
	at de.dennisguse.opentracks.sensors.sensorData.SensorDataSet.remove(SensorDataSet.java:93)
	at de.dennisguse.opentracks.sensors.SensorManager$1.onDisconnect(SensorManager.java:35)
	at de.dennisguse.opentracks.sensors.BluetoothRemoteSensorManager.onDisconnecting(BluetoothRemoteSensorManager.java:173)
2023-06-14 22:35:38 +02:00
Dennis Guse 0122539d0f Bugfix: crash on starting a recording with at least one BLE sensor configured.
Introduced in f336a1da12
2023-06-11 15:21:22 +02:00
Dennis Guse d7022a07a2 Cleanup: use Java17' Records.
Fixes #1526.
2023-06-08 07:06:22 +02:00
Dennis Guse f336a1da12 Move GPSManager into SensorManager.
Includes Bugfix: SensorManager might not have been stopped.

Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse 1657bf5ec1 Cleanup: removed SensorDataSetChangeObserver interface.
Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse d046ca1cd8 SensorManager handles SensorDataSet.
Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse 6c852091ce AltitudeSumManager: extracted Barometer driver.
Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse 4906d3f942 Introduced AtmosphericPressure.
Part of #1424.
2023-06-04 13:16:22 +02:00
denta58 0395394e26 Bluetooth pressure data parse 2023-06-04 13:16:22 +02:00
Dennis Guse 34b5c2ab18 BLE: code for fetching and parsing battery level (not used).
Part of #24.
2023-05-25 22:09:27 +02:00
rjo12 5b0e7e5065 Bugfix: Off-by-one bug in subtracting UINT. Fixes #1557 2023-05-15 08:19:49 +02:00
Dennis Guse efddb31391 Cleanup: use Java17 switch statements.
AndroidStudio code cleanup.
2023-04-13 15:10:17 +02:00
Dennis Guse b9dedef292 Refactor: introduced SensorManager. 2023-03-28 20:58:23 +02:00
Dennis Guse f3caecd049 Refactor: rename BluetoothConnectionManager. 2023-03-27 22:59:31 +02:00
Dennis Guse e16780277f Refactor: introduced SensorConnector interface. 2023-03-27 22:59:31 +02:00
Dennis Guse 12b3d31f5c Bugfix: BluetoothLE requires to trigger reconnect on either disconnect or never connected.
Initial connection timeout seems to be 30s.
Fixes #1442.
2023-01-05 20:52:15 +01:00
Dennis Guse b96441a964 Refactor: BluetoothUtils return HeartRate. 2022-12-30 16:11:22 +01:00
Dennis Guse 498ee20e2a Test: update and re-enable ExportImportTest for csv_export. 2022-10-28 18:41:54 +02:00
Dennis Guse a93424629d BLE: process cycling cadence from powermeter.
Fixes #1352.
2022-09-04 19:55:32 +02:00
Dennis Guse da29766fd0 BLE: BluetoothConnectionManager supports multiple BLE services per sensor type (e.g., cadence).
Part of #1352.
2022-09-04 19:11:31 +02:00
Dennis Guse dc7afbd07f BLE: extract SensorDataCycling.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse 67b174feac BLE: do not try to connect twice.
Might had some interesting side effects.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse b6b81b5d3d BLE: extract sensor managers into separate files.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse 7d804b603d BLE: decode cadence from cycling powermeter.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse 8696a15ce7 Cleanup: introduced ServiceMeasurementUUID.
Part of #1352.
2022-09-04 11:54:26 +02:00
Dennis Guse 807ac3fc9f Remove UnitConversions for time/durations. 2022-08-21 22:02:49 +02:00
Dennis Guse 0ada9a2463 Android13: request NOTIFICATION_POST permission.
Fixes #1353.
Part of #1210.
2022-08-18 08:07:37 +02:00
Dennis Guse 1502b0cfa7 Gain/loss: handle events in our TrackRecordingService.handler (avoids potential race conditions). 2022-07-07 18:27:56 +02:00