Commit Graph

262 Commits

Author SHA1 Message Date
Ristello 58ca78b976 Removed interface AppConfig, since it is technically not needed. 2021-10-13 22:02:38 +02:00
Ristello 8079a25a42 Use an in-memory database when running instrumented tests.
- added new TestRunner and new TestApplication
- The TestRunner loads TestApplication as the apps Application instance when running the tests
- added new interface AppConfig to retrieve the database name
- changed Startup (Application) so that it implements AppConfig
- changed CustomSQLiteOpenHelper so that it retrieves the database name from the Application instance
- Startup provides the production database name
- TestApplication provides null which yields an in-mememory database
2021-10-13 22:02:38 +02:00
Dennis Guse eac3d4b3db Cleanup: SharedPreference as static variable.
Fixes #961.
2021-10-12 22:24:51 +02:00
Dennis Guse d76d5673a8 Bugfix: running sensor's data should be null if not connected.
Fixes #950.
2021-10-09 14:24:50 +02:00
Román Martínez d99fb5ea47 Cadence set to 0 when connected but user is not pedaling. Fixes #931.
Speed set to 0 when connected but last value is outdated. Fixes #930.
Bug: overflow when reset sensors (cadence and speed). Fixes #833.
Moving time stops when is not moving (the last track point is not moving) and restarts when last track point is moving.
2021-09-21 18:07:23 +02:00
Dennis Guse d5cfd118f6 Cleanup. 2021-08-28 19:00:06 +02:00
Román Martínez 13380afef0 TrackRecordingManager only updates track's statistics every time a new track point is inserted. Fixes #916. 2021-08-22 20:01:38 +02:00
Román Martínez 9c4c8131f5 Recording stats layout customizable.
Users can select the order, visibility and importance (primary or secondary) of all stats for recording layout from the Settings.
Also, users can select the number of columns per row in the recording layout: 1, 2 or 3.
Finally, show altitude/coordinate from settings have been removed (not needed anymore).
Fixes #659.
Fixes #302.
Fixes #820.
2021-08-21 19:40:31 +02:00
Dennis Guse 6f3efd9ff2 Bugfix: reset TrackRecordingManager properly.
Fixes #901.
2021-08-07 19:37:14 +02:00
Dennis Guse fc0cec6157 Share picture: if sharing a track, a share picture (PNG) is created in addition.
Fixes #363.
2021-08-01 18:22:42 +02:00
Dennis Guse 242147e491 Sensor: adding Running Speed and Cadence.
Fixes #891.
2021-07-31 18:44:42 +02:00
Dennis Guse 348f74c4b3 Cleanup. 2021-07-31 17:54:57 +02:00
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