Commit Graph

246 Commits

Author SHA1 Message Date
Dennis Guse 4ea70b15e7 Renamed Layout to RecordingLayout.
Part of #1118.
2022-11-22 07:06:56 +01:00
Dennis Guse d70e7b8788 StatisticsRecordingFragment: render Views manually (instead of RecyclerView).
Part of #1118.
2022-11-22 07:06:45 +01:00
Dennis Guse 2207865a70 Cleanup using AndroidStudio analyze. 2022-10-28 17:49:59 +02:00
Dennis Guse 73e59cbba2 UI: show timezone if different than local.
Fixes #1296.
2022-08-22 18:43:53 +02:00
Dennis Guse 9d64989ef1 Public API: implemented STOP properly.
Fixes #1103.
2022-05-08 20:29:13 +02:00
Dennis Guse a5b44175a3 Convert metricUnits boolean into an enum.
Fixes #1199.
2022-04-28 22:35:38 +02:00
Dennis Guse db5c9479df Implement SpeedFormatter. 2022-04-28 22:35:38 +02:00
Dennis Guse 16f238f34b Refactoring: DistanceFormatter handles metricUnits. 2022-04-28 22:35:38 +02:00
Dennis Guse f2ac1edc4b Create DistanceFormatter.
Fixes #1197
2022-04-23 20:12:43 +02:00
Román Ginés 79e45f7aea Migration to Material Components theme and style.
New night theme mainly white on black.
Fixes #1122.
Fixes #957.
2022-03-03 10:02:34 +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 cf32c81035 Cleanup: extract RecordingData and RecordingStatus from TrackRecordingService. 2022-02-14 22:01:52 +01:00
Dennis Guse 7484ab03ce Package structure: moved UI utils
Part of #963.
2022-01-15 22:40:03 +01:00
Dennis Guse 0645628d7e Package structure: moved models and database.
Part of #963.
2022-01-15 22:24:59 +01:00
Dennis Guse cf993b73d7 Package structure: moved custom recording layout.
Part of #963.
2022-01-15 22:24:59 +01:00
Dennis Guse 2ca69df447 Package structure: moved Marker UI code.
Part of #963.
2022-01-15 22:08:21 +01:00
Dennis Guse 1a125ca60d Package structure: moved aggregated statistics.
Part of #963.
2022-01-15 22:08:06 +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 a9f1381dae Refactoring package structure.
Part of #963.
2022-01-12 22:42:23 +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
Dennis Guse 07074ad260 TrackStatistics and ChartView: handle altitude and speed as optional with null as default value.
Then only the relevant part of the y-axis is shown.

Fixes #795.
2022-01-02 18:17:20 +01:00
Dennis Guse 55d3502ff9 Cleanup using AndroidStudio analyze. 2021-12-30 12:16:31 +01:00
Dennis Guse 9af213fd12 Bugfix: selected interval may be null. 2021-12-28 13:05:24 +01:00
Román Ginés b4ce99440a AggregatedStatisticsActivity: added filter option (by category, start and/or end date).
Fixes #1039.
2021-12-24 11:50:32 +01:00
Román Martínez 7f9057c519 Added profiles for custom layouts.
Users can add severals custom layouts and select one of them in recording fragment. The last selected layout is the one that will be use in the next recording.
Fixes #938.
2021-12-07 18:07:25 +01:00
Dennis Guse 0dec17eba5 Bugfix: prevent NPE in onDestroy. 2021-10-29 05:58:22 +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
Román Martínez e0111c2ffd Gain and loss are integers. 2021-09-18 16:17:29 +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
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 348f74c4b3 Cleanup. 2021-07-31 17:54:57 +02:00
Dennis Guse 997ddbb4f1 ExportImportTest: made tests deterministic (simulate GPS/sensors).
Fixes #761.
2021-07-22 17:18:31 +02:00
Dennis Guse af8d9c08ab IntervalStatistics: format gain/loss like on StatisticsRecordingFragment. 2021-07-04 16:53:10 +02:00
Dennis Guse c289fd174d Cleanup. 2021-07-04 16:53:10 +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 470f23afa8 Bugfix: pace or speed header text is not showing in intervals.
Bugfix: viewModel checking onPause.
2021-06-17 14:36:30 +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
Román Martínez 4c68592a0c Intervals are computated through TrackStatisticsUpdater. Fixes #703. 2021-06-15 17:08:16 +02:00
Dennis Guse ee96226faf Bugfix: avoid ConcurrentModificationException exception in ChartView. 2021-05-31 16:52:40 +02:00
Dennis Guse d6f4d3f599 Cleanup:
TrackDataHub handles listeners itself.
2021-05-29 19:31:28 +02:00
Dennis Guse b1b0a45f53 ChartFragment: re-added isResume() check. 2021-05-23 19:52:12 +02:00
Dennis Guse e580a03115 Cleanup ChartFragment. 2021-05-23 19:52:12 +02:00
Román Martínez aa34f5d55b Bugfix: category change didn't update speed/pace correctly.
Espresso test added to check that unit is properly.
2021-05-21 21:01:31 +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 e822172f58 Cleanup. 2021-05-08 14:40:32 +02:00
Dennis Guse 50127e311a Introduced value object for Altitude. 2021-05-05 18:01:07 +02:00
Dennis Guse 887d4700d4 TrackDataHub computes TrackStatistics and passes it to listeners.
Part of #719.
2021-04-27 19:02:53 +02:00