Commit Graph

310 Commits

Author SHA1 Message Date
Dennis Guse 71288cd9be Bugfix: onDestroy() first shutdown sensors.
Fixes #1189.
2022-04-22 06:51:15 +02:00
Dennis Guse dd1c5667a0 Adhere to recording distance interval for TrackPoint storage.
Part of #1059.
2022-04-10 12:57:12 +02:00
Dennis Guse 7c5115fc56 UI: only update once every second.
Accidentally introduced in 78519883c0.
2022-03-26 00:35:44 +01: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
Jonas Kalderstam 9e7e8c60a6 Voice announcement: added TtsSpans to announcements
Fixes #876
2022-03-01 10:09:00 +01:00
Jonas Kalderstam 1075021e21 Voice announcement: added heart rate info to voice announcements
Also added setting to toggle announcement of heart rate

Defaults to off to preserve current behavior
2022-03-01 09:58:29 +01:00
Dennis Guse 0848897ed0 Bugfix: speed showed sometimes 0.0 in UI.
Fixes #1117.
2022-02-17 18:19:17 +01:00
Román Ginés 7ca6925e7d Recording without GPS: show a Snackbar to warn user that recording is not using GPS. 2022-02-15 17:20:44 +01:00
Dennis Guse 5c06c7548f GPS is now optional: request GPS access in TrackRecordingActivity.
Fixes #1061.
2022-02-14 22:17:10 +01:00
Dennis Guse 8001c03a74 Bugfix: do not leak TTS in voice announcements. 2022-02-14 22:01:52 +01:00
Dennis Guse 30f9b6ffdc Cleanup in VoiceAnnouncement: rename to start() and stop(). 2022-02-14 22:01:52 +01:00
Dennis Guse a7fd6b8dfa TrackRecordingService: call stopSelf after triggering post-workout export.
Might fix #1080.
2022-02-14 22:01:52 +01:00
Dennis Guse cc93384d1f TrackRecordingService: create/ release EGM2008. 2022-02-14 22:01:52 +01:00
Dennis Guse 78519883c0 Refactored ExportServiceResultReceiver to make TrackRecordingService simpler. 2022-02-14 22:01:52 +01:00
Dennis Guse 29051ac978 Cleanup: move creating manual TrackPoints into TrackRecordingManager. 2022-02-14 22:01:52 +01:00
Dennis Guse cf32c81035 Cleanup: extract RecordingData and RecordingStatus from TrackRecordingService. 2022-02-14 22:01:52 +01:00
Dennis Guse 19a958ccbb Cleanup. 2022-01-29 19:21:54 +01:00
Dennis Guse 708245bd50 TrackRecordingServices: managers register for sharedPreference changes. 2022-01-27 22:04:45 +01:00
Dennis Guse d8ffc1318f Refactor: move methods to NotificationManager. 2022-01-27 22:04:45 +01:00
Dennis Guse 5998f9127d TrackPointCreator needs to reset GPSHandler as it might have been running beforehand. 2022-01-27 22:04:45 +01:00
Dennis Guse 838f3dc622 Public API: enable other applications to start recordings.
Fixes #671.
2022-01-23 20:13:00 +01:00
Dennis Guse f64c1feb1a Bugfix: prevent rare crash due to Actvity lifecycle events in AbstractTrackDeleteActivity. 2022-01-19 20:53:30 +01:00
Dennis Guse e1d3b04dd0 Bugfix: MediaPlayer creation might fail for ttsFallback.
Seen on a Fairphone 4.

Part of #963.
2022-01-16 21:39:16 +01:00
Dennis Guse 1df1fe699a Cleanup: removed unused parameter. 2022-01-16 15:30:08 +01:00
Dennis Guse 864bc8fad9 Cleanup. 2022-01-15 23:16:53 +01:00
Dennis Guse 88c4e1a109 Package structure: moved sensors.
Part of #963.
2022-01-15 22:24:59 +01:00
Dennis Guse 0645628d7e Package structure: moved models and database.
Part of #963.
2022-01-15 22:24:59 +01:00
Dennis Guse 5053c41bec Package structure: moved intervals.
Part of #963.
2022-01-15 22:07:53 +01:00
Dennis Guse 46cf7f9acf TrackRecordingServiceConnection: use a callback instead of a Runnable. 2022-01-15 20:53:46 +01:00
Dennis Guse 522d8b41d8 Bugfix: use monotonic clock.
Fixes #800.
2022-01-15 19:52:27 +01:00
Dennis Guse 58b1396d64 Refactoring package structure.
Part of #963.
2022-01-12 22:57:35 +01:00
Dennis Guse a9f1381dae Refactoring package structure.
Part of #963.
2022-01-12 22:42:23 +01:00
Dennis Guse e508c53ca9 TrackRecordingManager: store GPS-based TrackPoints based upon the distance to the previously stored GPS-based TrackPoint. 2022-01-12 18:07:48 +01:00
Dennis Guse d691c958b9 Cleanup: TrackRecordingManager should use onNewTrackPoint(). 2022-01-12 18:07:48 +01:00
Dennis Guse cd7bf36aa9 TrackRecordingService: add integration tests. 2022-01-09 18:28:35 +01:00
Dennis Guse 8b5320e40e TrackRecordingService: cleanup tests. 2022-01-09 18:28:35 +01:00
Dennis Guse f5ce76955b TrackRecordingService: add tests for state changes. 2022-01-09 18:28:35 +01:00
Dennis Guse 1163f74b98 SENSORPOINT and TRACKPOINT require a distance to be stored.
TrackRecording and TrackStatisticsUpdater.

Part of #500
Fixes #1074.
2022-01-06 22:12:53 +01:00
Dennis Guse c4b8082efc Bluetooth sensors: event-driven TrackPoint creation.
Part of #500.
2022-01-06 22:12:53 +01:00
Román Ginés 5cd6992c90 Proper handling of timezone data on UI. Fixes #301.
Details:
- Date and time handled by OffsetDateTime Java class.
- Track default name with offset (for date local and ISO 8601 options).
- TrackListActivity: shows relative today's date (like Today, Yesterday, 22 Dec, 22 Dec 2021, etc).
- StatisticsRecordedFragment: always shows the original date and time. For example, if you record an activity at 20h then it always will show 20h regardless the zone are where you are.
- Added new tests.
2022-01-03 16:27:40 +01:00
Peter Storch 1631836327 Try to takkle down export dir issues 2022-01-02 21:19:43 +01:00
Dennis Guse 6d04659370 Timezone support: store timezone offset per Track.
When a recording is started the offset of the phone is used.
Timezone is exported to KML and GPX.

Fixes #301.
2021-12-28 15:42:38 +01:00
Dennis Guse 7d0d87e962 Tests: ServiceTestRule does not (always) restart the service.
Thus, resetting it's status is not happening and then leading to failures in subsequent tests.

Fixes #1058.
2021-12-28 13:05:24 +01:00
Dennis Guse d6cc7a0321 TrackPointCreator: only try fill TrackPoint with sensor data if started. 2021-12-28 13:05:24 +01:00
Dennis Guse c7bbaddc06 Cleanup: fix various issues in tests. 2021-12-28 13:05:24 +01:00
Dennis Guse f8cc257895 KMZ/KML: Export/Import SENSORPOINTs.
Part of #500.
2021-12-28 13:05:23 +01:00
Dennis Guse ba66c45005 Recording data from BLE sensors alone (need to provide distance).
GPS is optional in this case, but no coordinates will be available.

Naive implementation tries to store data every second using the UI timer.

Part of #500.
2021-12-28 13:05:23 +01:00
Dennis Guse 45125bcda3 Refactor: rename LocationHandler to GPSHandler. 2021-12-28 13:05:23 +01:00
Dennis Guse 3359a30907 TrackRecordingService: first process the TrackPoint, then update the notification. 2021-12-28 13:05:23 +01:00
Dennis Guse 6fe6cee475 BLE: CSC remove workarounds as those are not necessary.
The implementation of OpenTracks for the CSC parsing was broken and fixed in 35de5b6b26

Fixes #1046.
2021-12-21 22:00:38 +01:00