Commit Graph

250 Commits

Author SHA1 Message Date
Dennis Guse bd5bf530f0 TrackRecordingService: extracted storing data into TrackRecordingManager.
Part of #822.
2021-07-22 17:18:31 +02:00
Dennis Guse 997ddbb4f1 ExportImportTest: made tests deterministic (simulate GPS/sensors).
Fixes #761.
2021-07-22 17:18:31 +02:00
Dennis Guse db24639829 Cleanup: horizontal accuracy is now a Distance (and named consistently). 2021-07-22 17:18:31 +02:00
Dennis Guse 18702bb6b3 Cleanup. 2021-07-22 17:18:31 +02:00
Dennis Guse 7d24262b38 TrackRecordingService: generate timestamps for TrackPoints in HandlerServer.
Part of #822.
2021-07-22 17:18:31 +02:00
Dennis Guse f9d3108cb2 Extract EGM2008CorrectionManager.
Part of #882.
2021-07-22 17:18:31 +02:00
Dennis Guse 401e07d7e7 Cleanup. 2021-07-09 23:17:18 +02:00
Dennis Guse 6d0f1ba773 Cleanup using AndroidStudio's analyze function. 2021-07-08 07:40:10 +02:00
Dennis Guse c9231a7640 Add copy constructor to SensorDataSet to avoid undesired changes. 2021-07-04 16:53:10 +02:00
Dennis Guse c289fd174d Cleanup. 2021-07-04 16:53:10 +02:00
Dennis Guse a20cc17215 TrackPointAssert: removed helper methods. 2021-07-04 16:53:10 +02:00
Dennis Guse 1f83b71336 Tests: created TrackPointAssert to unify verification. 2021-07-04 16:53:10 +02:00
Dennis Guse 5045b9a222 TrackPoint: only take data from location if present.
This functionality is used by KML/KMZ imports.
2021-07-04 16:53:10 +02:00
Dennis Guse 6749f484e8 Export: removed KML/KMZ format variants
* KML/KMZ with track only (contained only coordinates)
* KML/KMZ with track details (did not contain markers and sensor data)
2021-06-28 23:03:59 +02:00
Dennis Guse 7ebd532edb Cleanup using AndroidStudio's code analyzer. 2021-06-24 18:47:49 +02:00
Dennis Guse 3030b4dfd9 Bugfix: TrackRecordingService needs to send data from lastTrackPoint in it's 1s updates.
This also removes UI updates if a GPS measurement is received as 1s update should be sufficient.

Fixes #828.
2021-06-24 12:02:22 +02:00
Román Martínez 24e18347a6 IntervalsFragment doesn't use TrackDataHub anymore. This improve intervals performance. Fixes #808. 2021-06-15 17:09:24 +02:00
Dennis Guse e9e48e4a79 Bugfix: cycling sensors report wheel count as UINT32 - data type must be long, int is too small.
Also forgot to fix tests.

Fixes #810.
2021-06-13 19:17:05 +02:00
Dennis Guse 40188774b1 Bugfix: cycling sensors report wheel count as UINT32.
Garmin Speed Sensor 2 actually counts forward: it was an UINT16 overflow problem (removed workaround).

Fixes #810.
2021-06-11 19:25:40 +02:00
Dennis Guse 2f0449c420 TrackRecordingService: compute temporary TrackStatistics for UI.
Fixes #810.
2021-06-11 19:25:40 +02:00
Dennis Guse 288fe27a57 Import: re-implement GPX parsing. 2021-06-04 17:50:34 +02:00
Dennis Guse 54e8fd3ee3 Import: re-implement KML parsing.
Fixes #790.
2021-06-04 17:50:34 +02:00
Dennis Guse ccfcd3b306 TrackDataHub: do not send more TrackPoints after stop(). 2021-05-29 19:31:28 +02:00
Dennis Guse 7929d219ac Cleanup: TrackDataHub does not need started. 2021-05-29 19:31:28 +02:00
Dennis Guse d6f4d3f599 Cleanup:
TrackDataHub handles listeners itself.
2021-05-29 19:31:28 +02:00
Dennis Guse 4171d9cc4c Cleanup. 2021-05-28 07:58:57 +02:00
Dennis Guse e580a03115 Cleanup ChartFragment. 2021-05-23 19:52:12 +02:00
Dennis Guse 1d7820469c TrackDataHub: prevent crash due to race condition.
Fixes #787.
2021-05-22 12:49:51 +02:00
Dennis Guse e71ab28701 TrackRecordingService: avoid race condition while stopping a recording. 2021-05-19 18:36:41 +02:00
Dennis Guse ae001c73dd Simplify TrackDataHub interface. 2021-05-19 18:36:41 +02:00
Dennis Guse 56ff7827df TrackRecordingService uses LiveData to transfer data.
Replaces pull from UI layer.

Fixes #173.
2021-05-19 18:36:41 +02:00
Dennis Guse c00d769188 SensorDataCycling: use Distance. 2021-05-16 08:35:47 +02:00
Dennis Guse da28ea3e95 Cleanup. 2021-05-16 00:08:15 +02:00
Dennis Guse 18dd1de1f9 TrackDataHub: prevent race condition. 2021-05-08 19:31:16 +02:00
Dennis Guse 48b6438c06 Bugfix: TrackDataHub needs to use the same TrackStatisticsUpdater for a whole track (incl. newly received TrackPoints).
Fixes #745.

Introduced in https://github.com/OpenTracksApp/OpenTracks/commit/887d4700d4f8fbf10563834e7498388a3213007e
2021-05-08 14:40:32 +02:00
Dennis Guse 2843d19450 UI presents altitude in EGM2008. 2021-05-05 18:01:07 +02:00
Dennis Guse 50127e311a Introduced value object for Altitude. 2021-05-05 18:01:07 +02:00
Dennis Guse 8af0fb3250 Bugfix: TrackDataHub did not account for recordingDistanceInterval.
Introduced in 887d4700d4
2021-05-03 22:13:23 +02:00
Dennis Guse 1baf652b81 Bugfix: ChartFragment needs to show elevation in M/FT. 2021-05-03 22:13:23 +02:00
Dennis Guse 6723bfb979 TrackRecordingService: provide status updates via LiveData.
Fixes #719
2021-05-03 22:13:23 +02:00
Dennis Guse 887d4700d4 TrackDataHub computes TrackStatistics and passes it to listeners.
Part of #719.
2021-04-27 19:02:53 +02:00
Dennis Guse 391dfd30e2 TrackDataHub does not need to register for status changes of TrackRecordingService.
This is handled by TrackRecordingActivity alone.
Part of #719.
2021-04-27 19:02:53 +02:00
Dennis Guse df3720ef0d Bugfix: TrackDataManager.unregisterTrackDataListener was not removing listener. 2021-04-27 19:02:53 +02:00
Román Martínez 99126fa357 Distance interval bugfixed: interval options are km/mi values. 2021-04-17 21:16:32 +02:00
Dennis Guse bc2a3ddee3 IntervalStatistics/Announcement: use Distance. 2021-04-13 19:18:18 +02:00
Dennis Guse 610da5a106 Statistics*Fragment: keep reference to track instead of TrackStatistics and category. 2021-04-13 19:18:18 +02:00
Dennis Guse 6f9c788965 Value objects distance and speed.
#679
2021-04-13 19:18:18 +02:00
Dennis Guse 1e518a4c35 Use a non-static Binder for TrackRecordingService.
Fixes #98.
2021-04-09 18:34:23 +02:00
Dennis Guse 1c6012596e Use Duration for Markers (instead of long). 2021-04-09 18:34:03 +02:00
Dennis Guse bc1b4e3cd2 Rename elevation to altitude (without translations).
Fixes #678.
2021-04-04 17:45:38 +02:00