Commit Graph

197 Commits

Author SHA1 Message Date
Dennis Guse 0e0958c5e8 Announcements: add current heartrate.
Fixes #1635.
2024-12-29 12:38:15 +01:00
Dennis Guse 43e1cbcdc6 Announcements: added current time.
DateTimeFormatter behaves differently starting from SDK34 (produces NBSP).

Part of #1683.
2024-12-29 12:18:56 +01:00
Dennis Guse 073b3d2052 Announcements: added current time.
Fixes #1683.
2024-12-28 21:07:45 +01:00
Dennis Guse 01f4359cdf Sensor data: use monotonic clock (for isRecent).
Part of #1966.
2024-12-28 17:33:53 +01:00
Dennis Guse 2e7a3b7465 Use AltitudeConverterCompat instead of custom solution.
Fixes #1920.
2024-09-14 16:05:32 +02:00
Peter Storch 389c4bed96 fix #1957 open MarkerEditActivity to receive external marker (#1960)
* fix #1957 add CreateMarkerActivity to receive external marker
2024-07-30 15:24:18 +02:00
Dennis Guse e590e4e07e Bugfix: overestimated distance.
A combination of idle trackpoint and stale GPS data, resulted in recording lat=0.0 and lng=0.0; and thus inflating distance as well as GPS-based speed.

Fixes #1898.

Introduced in dfdbc373ff
2024-04-28 10:50:56 +02:00
Dennis Guse dfdbc373ff GPS: event-based using Raw.
Part of #1424.
2024-04-08 17:48:29 +02:00
Peter Hercek 91b5c148cc fix naming for the pace of reading of GPS location in settings
Fixes #1840
2024-01-25 22:43:47 +01:00
Dennis Guse 8d5a7e7e8b Barometer: use sensor aggregator.
Part of #1424.
2023-11-20 06:39:28 +01:00
Dennis Guse ce21fe3569 Cleanup: renamed SensorData* to Aggregator*. 2023-11-15 18:41:13 +01:00
Dennis Guse 58d79380cf Sensors: separate data generation and aggregation.
Part of #1424.
2023-11-15 07:20:42 +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 83da4f8f34 Idle: add voice announcement (user configurable).
Fixes of #1174
2023-09-25 17:59:17 +02:00
Dennis Guse 78d2a0722a Idle: TrackRecordingManager creates IDLE TrackPoints (configurable timeout).
Fixes of #1187.
2023-09-25 17:59:17 +02:00
Dennis Guse 6be9d2477c Idle: TrackRecordingManager creates IDLE TrackPoints.
Fixes of #1187.
2023-09-25 17:59:17 +02:00
Dennis Guse f797ce0872 Fix tests due to cf9b432224 2023-09-23 16:46:53 +02:00
Dennis Guse d8e05da9d0 Tests: remove workaround for not stopping TrackRecordingService properly below API24. 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 c0b5e71976 TrackPoint: all sensors are the same - no need to distinguish the source of a TrackPoint (BLE sensor vs GPS).
Part of #1187.
2023-08-08 19:03:01 +02:00
Dennis Guse 7530e1d120 AndroidStudio: code cleanup. 2023-08-08 17:57:36 +02:00
Dennis Guse 11c5ec43e2 Statistics: distance, total time, moving time are counted between automatic segments.
Fixes #1566.
2023-07-26 19:16:27 +02:00
blackberrypineapple 6dd9630bae Bugfix: crash on voice announcement if using imperial with meters
Fixes #1626
2023-07-05 14:26:46 +02:00
Dennis Guse 1a5acc8f2d Cleanup using AndroidStudio analyze. 2023-06-21 23:15:04 +02:00
Dennis Guse 1f86250e46 ICU's MessageFormat handles plurals for floats (getQuantityString does not).
Fixes #1584.
2023-06-21 19:19:53 +02:00
Dennis Guse eb8d28dfc1 Units: add imperial with meters.
Fixes of #1609.
2023-06-16 00:00:31 +02:00
Dennis Guse 11db0d1a4f Rewrote GpsStatus check and added tests. 2023-06-11 21:27:50 +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 6d61206782 Renamed GPSHandler to GPSManager. 2023-03-28 20:58:23 +02:00
Dennis Guse b9dedef292 Refactor: introduced SensorManager. 2023-03-28 20:58:23 +02:00
Dennis Guse e16780277f Refactor: introduced SensorConnector interface. 2023-03-27 22:59:31 +02:00
Dennis Guse ac80386b8a Refactor tests: use mocks for BluetoothRemoteSensorManager. 2022-12-30 16:22:46 +01:00
Dennis Guse 14b6746dff Handle LocationManager callbacks with TrackRecordingService's handler.
Fixes #1328.
2022-10-28 22:35:36 +02:00
Dennis Guse a5eca8fa64 Test: do not request GPS permissions for test that use fake locations anyhow. 2022-10-28 18:41:54 +02:00
Dennis Guse 2207865a70 Cleanup using AndroidStudio analyze. 2022-10-28 17:49:59 +02:00
Dennis Guse 8a9cd40bd5 Voice announcements: distance only with one decimal unit. 2022-10-18 20:21:20 +02:00
Dennis Guse 4f612e32d6 Voice announcements: "speed" -> "average moving speed" (en only).
Fixes #1346.
2022-09-03 23:26:09 +02:00
Dennis Guse 5667d2d83e Store sensor data without distance.
Fixes #1088.
2022-07-11 22:56:11 +02:00
Dennis Guse 73615aa0d6 Statistics: remove speed filtering (fix tests).
Part of #1003.
2022-07-01 13:24:18 +02:00
Dennis Guse 81bb6699d8 Statistics: remove speed filtering.
Part of #1003.
2022-06-30 14:03:33 +02:00
William Pettersson 128b95cd83 Fix voice announcement rounding problem
We extracted integral parts before rounding, but String.format does
rounding which caused occasional issues. To alleviate, we need to round
before passing to String.format. All this rounding logic has now been
moved into appendDecimalUnit, and tests have been added to check that
rounding works correctly.

Fixes: #1285
2022-06-19 16:39:46 +02:00
Dennis Guse b822d05a78 Fix voice announcement tests. 2022-06-09 22:33:43 +02:00
Dennis Guse 9cf88c00b0 Voice announcements: time is moving time (settings). 2022-06-06 17:02:31 +02:00
Jonas Kalderstam 00351136f2 Voice announcements: added settings for what to announce 2022-06-06 17:02:31 +02:00
Dennis Guse 5d2414977b TrackRecordingService: remove pause functionality.
Fixes #1233.
2022-05-23 07:41:50 +02:00
Dennis Guse 40d2bf0c22 Bluetooth: use TrackRecording handler for callback.
Otherwise the thread is not defined and a SecurityException may be triggered when inserting data into the ContentProvider.
Sadly, below API26 this needs to be done manually.

Fixes #1165.
2022-05-11 20:56:52 +02:00
Dennis Guse a5b44175a3 Convert metricUnits boolean into an enum.
Fixes #1199.
2022-04-28 22:35:38 +02:00
Dennis Guse 18b21a6a3e Bugfix: prevent race condition in TrackPointCreator.
This race condition leads to a crash in TrackStatisticsUpdater as the time might appear to move backwards if the created TrackPoints are not stored in order. Might happen if multiple sensors (BLE or GPS) are used in simultaneously.

Every method affected by a race condition is now synchronized.

Problem was introduced in c4b8082efc

Fixes #1151.
2022-04-23 12:48:19 +02:00
Dennis Guse dd1c5667a0 Adhere to recording distance interval for TrackPoint storage.
Part of #1059.
2022-04-10 12:57:12 +02:00
Peter Storch e61b065f2b fix #1139 CI build
- fix NPEs in TrackPointCreator.fill()
- fix locale dependant tests
- wait for UI components
- extract utility functions into EspressoUtils
2022-03-13 01:28:10 +01:00