Commit Graph

176 Commits

Author SHA1 Message Date
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 c7bbaddc06 Cleanup: fix various issues in tests. 2021-12-28 13:05:24 +01:00
Dennis Guse 77f56a5376 Test: disable automatic creation of TrackPoints for tests.
Part of #500.
2021-12-28 13:05:24 +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 530967f4f6 Moving time: disable test on API23. 2021-12-21 17:46:23 +01:00
Dennis Guse 25e590da02 Moving time: re-implement idle/non-idle TrackPoints.
Simplify computation of TrackStatistics.

Part of #1046.
2021-12-19 22:01:35 +01:00
Dennis Guse 0be4b25508 Moving time: fix test.
Part of #1046.
2021-12-19 21:56:53 +01:00
Dennis Guse 4c7d9384fb Revert "Only record a TrackPoint if the traveled distance is greater than recording distance interval."
This reverts commit 08ba7d50c7.

Fix #1046.
2021-12-19 21:56:53 +01:00
Dennis Guse 1f0a99c49a Recording: ignore TrackPoints that contain sensor data and do not fulfill recording distance interval.
Follow-up to 08ba7d50c7

Part of #1027.
2021-11-20 19:43:38 +01:00
Dennis Guse 08ba7d50c7 Only record a TrackPoint if the traveled distance is greater than recording distance interval.
Code seemed to be a leftover from the removed idle/non-idle functionality.

Fixed #1007.

Co-authored-by: vlmendz <91810638+vlmendz@users.noreply.github.com>
2021-11-08 22:42:14 +01:00
Dennis Guse 62401b2c5c Cleanup. 2021-11-07 22:19:02 +01:00
Román Martínez 083b620e41 GPS data recording: remove idle/non-idle changes due to reported speed greater than 0.5mph.
This avoids that to storing GPS locations if the user r actually is not moving (likely bad GPS reception).

Fixes #968.

Co-authored-by: vlmendz <91810638+vlmendz@users.noreply.github.com>
Co-authored-by: Dennis Guse <dennis.guse@alumni.tu-berlin.de>
2021-10-18 23:26:07 +02:00
Dennis Guse d07ab3cc22 TrackRecordingManager: do not store altitude changes twice (previous …
…TrackPoint's storage was delayed).

Fixes #969.
2021-10-16 10:23:09 +02:00
Dennis Guse 90493ae498 TrackRecordingManager: do not store sensor distance twice (previous TrackPoint's storage was delayed).
Fixes #969.
2021-10-16 10:23:09 +02:00
Dennis Guse 52a110d998 Bugfix: reset on SensorDataSet should only take place if the TrackPoint was stored
Fixes #969.
2021-10-16 10:23:09 +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 0527e4ab14 Cleanup: move AnnouncementUtils to VoiceAnnouncement.
Part of #963
2021-10-12 22:24:51 +02:00
Dennis Guse b6b4c5aa39 Cleanup: move PreferencesUtils into settings package.
Part of #963
2021-10-12 22:24:51 +02:00
Dennis Guse eac3d4b3db Cleanup: SharedPreference as static variable.
Fixes #961.
2021-10-12 22:24:51 +02:00
Dennis Guse 8f2d1722ad Announcements: can be triggered by time and distance (instead of either).
Fixes #921.
2021-08-30 17:24:51 +02:00
Dennis Guse 9cb3d8c1bb Finished renaming: TrackPointCreator was still referenced as HandlerServer. 2021-08-30 17:24:51 +02:00
Dennis Guse 4f31607e3e Voice announcements are now triggered by the TrackRecordingService's timer that is also used for UI updates. 2021-08-30 17:24:51 +02:00
Dennis Guse d5cfd118f6 Cleanup. 2021-08-28 19:00:06 +02:00
Dennis Guse 68c447f77e Removed AdaptiveLocationListenerPolicy.
Fixes #886.
2021-08-24 18:26:09 +02:00
Dennis Guse a3872581bb Cleanup: Renamed HandlerServer to TrackPointCreator. 2021-08-01 18:40:38 +02:00
Dennis Guse 348f74c4b3 Cleanup. 2021-07-31 17:54:57 +02:00
Dennis Guse a4580fc84e Cleanup. 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 65e920e8b6 ExportImportTest: made tests deterministic.
Fixes #761.
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 223ad70d36 TrackRecordingService: move BluetoothRemoteSensorManager and AltitudeSumManager to HandlerServer.
Part of #822.
2021-07-22 17:18:31 +02:00
Dennis Guse c9478ea38d HandlerServer: disable serviceExecutor to simplify testing for now.
Part of #882.
2021-07-22 17:18:31 +02:00
Dennis Guse 1255ec8111 TrackRecordingService: extract EGM2008CorrectionManager into HandlerServer.
Part of #882.
2021-07-22 17:18:31 +02:00
Dennis Guse c07d6124f9 TrackRecordingService: simplify altitude and remoteSensor handling. 2021-07-04 16:53:10 +02:00
Dennis Guse 5899235b2b Tests: create TrackPoint instead of Location. 2021-07-04 16:53:10 +02:00
Dennis Guse 3cb04a1ca0 TrackPointAssert: always check location. 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 0edb72aaed Tests: created TrackPointAssert to unify verification (incl. speed). 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 e822172f58 Cleanup. 2021-05-08 14:40:32 +02:00
Dennis Guse b395c19832 Bugfix: voice announcements need to use KM/Miles (instead of m/feet).
Fixes #722.
2021-05-05 17:59:08 +02:00
Dennis Guse 6723bfb979 TrackRecordingService: provide status updates via LiveData.
Fixes #719
2021-05-03 22:13:23 +02:00
Dennis Guse 2b5744ccc1 Code cleanup. 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 3a073a3b0a Code cleanup. 2021-04-04 23:31:36 +02:00
Dennis Guse bc1b4e3cd2 Rename elevation to altitude (without translations).
Fixes #678.
2021-04-04 17:45:38 +02:00
Román Martínez e09b04308c Track recording service handles the status of recording: track's id, pause and GPS status.
Created an interface for all components that want to know about recording status through the service.
All interface's methods are optional so every component can implement what they need.
Fixes #388.
2021-04-04 13:15:42 +02:00
Dennis Guse 3f21edc44c Cleanup. 2021-03-21 20:01:57 +01:00