Compare commits

...

472 Commits

Author SHA1 Message Date
Dennis Guse 374656aa6b Release: v4.9.2 2023-10-10 20:08:19 +02:00
Åzze c623475c95 Translated using Weblate (Finnish)
Currently translated at 92.5% (474 of 512 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/fi/
2023-10-10 06:30:14 +00:00
Hosted Weblate 316e21a2c4 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/
2023-10-10 06:30:13 +00:00
mondstern 9dedfb38bc Translated using Weblate (Catalan)
Currently translated at 0.8% (1 of 120 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/ca/
2023-10-10 06:30:12 +00:00
plum7x eb7552acdb Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (508 of 512 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/zh_Hant/
2023-10-10 06:30:12 +00:00
ovl-1 79729cd4a7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.2% (498 of 512 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-10-10 06:30:11 +00:00
mondstern 12c2c7cae0 Translated using Weblate (Catalan)
Currently translated at 52.5% (269 of 512 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/ca/
2023-10-10 06:30:10 +00:00
Dennis Guse 504e27a9df Android12+: use user-defined DynamicColors. 2023-10-10 08:29:32 +02:00
Dennis Guse 5fbc079d96 Android12+: use user-defined DynamicColors. 2023-10-10 08:25:05 +02:00
Dennis Guse 54fb70053c Settings: use category for recording UI settings. 2023-10-10 08:25:05 +02:00
Dennis Guse ea7d754482 Bugfix: voice announcement setting for total distance was removed. 2023-10-10 08:25:05 +02:00
Dennis Guse 1647b821e6 Bump com.android.tools.build:gradle from 8.1.0-beta04 to 8.1.0-beta06 2023-10-10 08:25:05 +02:00
Dennis Guse 5ced5e2c0b Cleanup: remove unused method. 2023-10-10 07:37:05 +02:00
Dennis Guse 31ea1348de Predictive back: enable.
Part of #1708.
2023-10-10 07:37:05 +02:00
Dennis Guse 3995e2b609 Upgrade to Gradlew 8.4.0 2023-10-09 08:12:56 +02:00
dependabot[bot] eddf6ffc04 Bump org.mockito:mockito-android from 5.5.0 to 5.6.0
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.5.0...v5.6.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 08:10:58 +02:00
Leon Marz 88b860af5a Marker List: Fix crashes in selection mode 2023-10-08 14:20:40 +02:00
Leon Marz 1708e09c5a Change missing line for afbe94195c 2023-10-08 14:20:40 +02:00
Dennis Guse 07abf50fca Release: v4.9.1 2023-10-08 13:29:11 +02:00
Leon Marz afbe94195c TrackList: Fix crashes in selection mode
Fixes: #1711
2023-10-08 13:27:12 +02:00
dependabot[bot] 8ca208a631 Bump com.google.android.material:material from 1.9.0 to 1.10.0
Bumps [com.google.android.material:material](https://github.com/material-components/material-components-android) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.9.0...1.10.0)

---
updated-dependencies:
- dependency-name: com.google.android.material:material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 22:54:49 +02:00
Dennis Guse 7b6120abf4 Cleanup: remove unused resources. 2023-10-03 17:42:58 +02:00
Dennis Guse 2c9726f643 Bugfix: preferred speed for nautical setting was not showing correct options. 2023-10-03 17:28:01 +02:00
ovl-1 b3d610b791 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.1% (504 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-09-30 14:02:52 +02:00
Stephan Paternotte 409ddfd31c Translated using Weblate (Dutch)
Currently translated at 100.0% (120 of 120 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-09-28 21:58:22 +02:00
josé m 2d47f1895b Translated using Weblate (Galician)
Currently translated at 100.0% (519 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-09-28 21:58:22 +02:00
Fjuro 1d89d68e59 Translated using Weblate (Czech)
Currently translated at 100.0% (519 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/cs/
2023-09-28 21:58:22 +02:00
ovl-1 3ebce4be7c Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.3% (500 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-09-28 21:58:22 +02:00
gallegonovato a7954382fd Translated using Weblate (Spanish)
Currently translated at 100.0% (519 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/es/
2023-09-28 21:58:22 +02:00
josé m 1d036a096a Translated using Weblate (Galician)
Currently translated at 99.0% (514 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-09-28 21:58:22 +02:00
Stephan Paternotte d952593687 Translated using Weblate (Dutch)
Currently translated at 100.0% (519 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-09-28 21:58:22 +02:00
pixeebot[bot] 83445cfde0 Switch order of literals to prevent NullPointerException (#4)
Co-authored-by: pixeebot[bot] <23113631+pixeebot@users.noreply.github.com>
2023-09-28 21:58:22 +02:00
Dennis Guse aae1a4d65d Merge pull request #1710 from OpenTracksApp/cleanup
Cleanup: use record if possible
2023-09-28 21:58:17 +02:00
Dennis Guse cb3904ee0b Cleanup: SensorStatistics is a record. 2023-09-28 20:06:13 +02:00
Dennis Guse 684756c264 Cleanup: SelectionData is a record. 2023-09-28 20:00:47 +02:00
Dennis Guse bc857faa18 Cleanup: ChartPoint is a record. 2023-09-28 19:57:15 +02:00
Dennis Guse e9b02df631 Cleanup. 2023-09-28 19:39:43 +02:00
Dennis Guse 648ebadb36 Release: v4.9.0 2023-09-26 20:57:59 +02:00
Dennis Guse fda9ef9dd7 Bugfix: TrackList should only mark the currently recording track as recording. 2023-09-26 20:48:11 +02:00
Dennis Guse 2b08eb3287 Cleanup: removed unnecessary getter from data class RecordingStatus. 2023-09-26 08:13:32 +02:00
Leon Marz f4cec0a8b2 Fix broken TrackList UI tests 2023-09-26 07:16:34 +02:00
Dennis Guse b5e88b3e05 Merge pull request #1707 from OpenTracksApp/idleDetection#1187
Idle detection#1187
2023-09-25 18:00:43 +02:00
Dennis Guse 83da4f8f34 Idle: add voice announcement (user configurable).
Fixes of #1174
2023-09-25 17:59:17 +02:00
Dennis Guse 9a50d7bedf Idle: move idle into TrackStatistics. 2023-09-25 17:59:17 +02:00
Dennis Guse 348cb16256 ExportImportTest: extract test for checking recording. 2023-09-25 17:59:17 +02:00
Dennis Guse 7d739e3640 TrackStatisticsUpdater: remove check for max acceleration (was still used for max speed). 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 00debe2eb5 Idle: TrackRecordingManager creates IDLE TrackPoints (import/export GPX/KML).
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 60fd1cd105 Merge pull request #1704 from OpenTracksApp/action-test
Re-enable Github Action executes tests.
2023-09-23 23:01:00 +02:00
Dennis Guse b360191055 Github action: test runner uses updated dependencies and only executes agains API34. 2023-09-23 23:00:34 +02:00
Dennis Guse 8a20edb83a Revert "Github Actions: disable test execution as results are flaky due to performance limitations."
This reverts commit 8f9cbcc077.
2023-09-23 23:00:34 +02:00
Dennis Guse 165dd401f4 Activity: added scooter (incl. icon).
Fixes #1695.
2023-09-23 21:52:07 +02:00
Dennis Guse 10e65035ee Cleanup: use List.of(). 2023-09-23 21:33:47 +02:00
Dennis Guse f797ce0872 Fix tests due to cf9b432224 2023-09-23 16:46:53 +02:00
Dennis Guse 4425fbae90 Revert "Bump androidx.mediarouter:mediarouter from 1.4.0 to 1.6.0"
This reverts commit f643d86772.
2023-09-23 15:57:03 +02:00
josé m f2c1d08f60 Translated using Weblate (Galician)
Currently translated at 13.4% (16 of 119 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/gl/
2023-09-21 07:32:04 +02:00
Maksym Movchan 481c77679b Translated using Weblate (Ukrainian)
Currently translated at 97.8% (503 of 514 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-09-21 07:32:04 +02:00
Stephan Paternotte 1029460e64 Translated using Weblate (Dutch)
Currently translated at 100.0% (119 of 119 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-09-21 07:32:04 +02:00
Stephan Paternotte b250d95e41 Translated using Weblate (Dutch)
Currently translated at 100.0% (514 of 514 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-09-21 07:32:04 +02:00
josé m bd99daddd4 Translated using Weblate (Galician)
Currently translated at 100.0% (514 of 514 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-09-21 07:32:04 +02:00
Fjuro b3af0b3b5f Translated using Weblate (Czech)
Currently translated at 100.0% (514 of 514 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/cs/
2023-09-21 07:32:04 +02:00
josé m a151b78da7 Translated using Weblate (Galician)
Currently translated at 11.8% (14 of 118 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/gl/
2023-09-21 07:32:04 +02:00
Stephan Paternotte 3f760c28da Translated using Weblate (Dutch)
Currently translated at 100.0% (118 of 118 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-09-21 07:32:04 +02:00
Stephan Paternotte 50d20f297e Translated using Weblate (Dutch)
Currently translated at 100.0% (117 of 117 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-09-21 07:32:04 +02:00
dependabot[bot] f643d86772 Bump androidx.mediarouter:mediarouter from 1.4.0 to 1.6.0
Bumps androidx.mediarouter:mediarouter from 1.4.0 to 1.6.0.

---
updated-dependencies:
- dependency-name: androidx.mediarouter:mediarouter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 07:31:59 +02:00
Dennis Guse a6f5635cb8 Release: v4.8.4 2023-09-17 10:18:46 +02:00
Dennis Guse bebf89608c Bump com.android.tools.build:gradle from 8.2.0-beta01 to 8.2.0-beta04 2023-09-17 10:17:35 +02:00
Dennis Guse 0cf02082d3 Merge pull request #1687 from lmarz/track
TrackListActivity: Switch to RecyclerView

Fixes #1613
2023-09-14 22:06:00 +02:00
Leon Marz e18017d500 TrackListActivity: Switch to RecyclerView
Part of: #1613
2023-09-14 18:11:02 +02:00
Leon Marz 7776b51f05 TrackListActivity: Set launchMode to singleTop 2023-09-14 18:11:02 +02:00
Leon Marz 30c76de136 Add recycler view adapter for track list 2023-09-14 18:11:02 +02:00
Leon Marz 853469cb28 ContentProviderUtils.java: Add searchTracks method 2023-09-14 18:11:02 +02:00
quaelnix cf9b432224 Add max power stats 2023-09-13 18:38:32 +02:00
dependabot[bot] e130039118 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 09:54:38 +02:00
Martin Herrman adb491ee81 Update README.md
Add SportsTracker to file format compatibility table
2023-09-05 22:57:52 +02:00
Dennis Guse 1b295e06da Release: v4.8.3 2023-08-31 22:07:48 +02:00
Dennis Guse 4ca6b230c3 Bugfix: prevent crash due to invalid UUID example (Android 14+ / API34+).
Fixes #1682.
2023-08-31 22:05:31 +02:00
Dennis Guse bb722de756 Upgrade to Gradlew 8.3.0 2023-08-28 20:31:14 +02:00
Dennis Guse 8eab847fae Merge pull request #1672 from lmarz/marker
MarkerListActivity: Switch to RecyclerView
2023-08-28 20:17:38 +02:00
Leon Marz c256cbe07d MarkerListActivity: Switch to RecyclerView
Part of: #1613
2023-08-28 10:02:00 +02:00
Leon Marz 5978886a18 Add recycler view adapter for marker list 2023-08-28 10:02:00 +02:00
Leon Marz 7afa4b86d4 ContentProviderUtils: Add searchMarkers method 2023-08-28 10:01:51 +02:00
Dennis Guse f59ae51c6f Release: v4.8.2 2023-08-27 09:01:20 +02:00
Max Ch 19a5d46e88 Translated using Weblate (Ukrainian)
Currently translated at 97.8% (502 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-08-26 19:40:32 +02:00
josé m d2b64391d9 Translated using Weblate (Galician)
Currently translated at 10.3% (12 of 116 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/gl/
2023-08-26 19:40:32 +02:00
Stephan Paternotte fe920d5b5e Translated using Weblate (Dutch)
Currently translated at 100.0% (116 of 116 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-08-26 19:40:32 +02:00
Max Ch d1ba31ff3f Translated using Weblate (Ukrainian)
Currently translated at 93.1% (478 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-08-26 19:40:32 +02:00
josé m e7a01b1cd1 Translated using Weblate (Galician)
Currently translated at 100.0% (513 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-08-26 19:40:32 +02:00
Stephan Paternotte 70b65d05c0 Translated using Weblate (Dutch)
Currently translated at 100.0% (115 of 115 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-08-26 19:40:32 +02:00
Max Ch c9ad1b45c6 Translated using Weblate (Ukrainian)
Currently translated at 89.4% (459 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-08-26 19:40:32 +02:00
ovl-1 4657a9faa0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.2% (499 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-08-26 19:40:32 +02:00
gallegonovato fba6cd7d4a Translated using Weblate (Spanish)
Currently translated at 100.0% (513 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/es/
2023-08-26 19:40:32 +02:00
Tea-NT 970239c614 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (513 of 513 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/zh_Hans/
2023-08-26 19:40:32 +02:00
Peter Storch f83c23e450 show postworkout error messages, #1669 2023-08-26 19:40:27 +02:00
Dennis Guse 326da494eb Java Record for Track.Id and TrackPoint.Id.
Part of #1526.
2023-08-25 23:52:10 +02:00
Dennis Guse fb85f2e976 Bump com.android.tools.build:gradle from 8.1.1 to 8.2.0-beta01 2023-08-25 23:52:10 +02:00
dependabot[bot] 60a34bfcbb Bump org.mockito:mockito-android from 5.4.0 to 5.5.0
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.4.0...v5.5.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-25 23:31:17 +02:00
Dennis Guse 95816937bc Bugfix: request ACCESS_BACKGROUND_LOCATION fails; removing it for now.
Introduced in 3910837d1a

Part of #1653.
2023-08-22 22:06:56 +02:00
Dennis Guse 4f745a94bf Release: v4.8.1 2023-08-22 07:15:53 +02:00
Dennis Guse 9b6df4bf99 Bugfix: request ACCESS_BACKGROUND_LOCATION fails; removing it for now.
Introduced in 3910837d1a

Part of #1653.
2023-08-22 07:15:08 +02:00
dependabot[bot] 73f325e633 Bump com.android.tools.build:gradle from 8.1.0 to 8.1.1
Bumps com.android.tools.build:gradle from 8.1.0 to 8.1.1.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 06:44:06 +02:00
Dennis Guse 28981611f1 GPX export: skip gain/loss if not present.
Part of #1671.
2023-08-20 19:38:37 +02:00
Dennis Guse 7d8c4dcb29 Bugfix: re-introduced race condition fix for newGpsStatus.
Follow-up to e9f24f6bae

Fixes #1668.
2023-08-20 19:28:37 +02:00
Dennis Guse 5501b0bb74 Release: v4.8.0 2023-08-16 23:09:11 +02:00
Dennis Guse b65399e7c0 Simplify TestDataUtil.createTrackPoint() 2023-08-14 23:22:49 +02:00
Dennis Guse 3c5fb66af3 Merge branch 'weblate' 2023-08-13 21:34:19 +02:00
Dennis Guse 82704f5e2b Translations: removed voice announcements plurals (old format).
Follow-up to 62d9e81b23
2023-08-13 21:34:07 +02:00
Dennis Guse bf0aac7bc6 GPSManager: on stop() release reference to observer. 2023-08-13 21:11:24 +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 205c5c7528 SensorManager and GPSManager: prefer to crash rather than hide usage errors. 2023-08-13 21:11:24 +02:00
Dennis Guse ce0365c2e9 TrackListActivity: simplify sensor start/stop. 2023-08-13 21:11:24 +02:00
Dennis Guse 313284cceb Bugfix: GpsStatusManager needs to stop the timer.
This may lead to crashes when track recording is finished.
2023-08-13 21:11:24 +02:00
Dennis Guse f6e8a44a8b GpsStatusManager should be running in on Thread alone. 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
ovl-1 45eebab4aa Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.5% (499 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-08-12 12:52:07 +02:00
Fjuro 93c09297d7 Translated using Weblate (Czech)
Currently translated at 3.5% (4 of 114 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/cs/
2023-08-10 21:55:16 +02:00
gallegonovato bbc82a509d Translated using Weblate (Spanish)
Currently translated at 100.0% (522 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/es/
2023-08-10 21:55:16 +02:00
Stephan Paternotte 94a400ba00 Translated using Weblate (Dutch)
Currently translated at 100.0% (114 of 114 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-08-10 21:55:16 +02:00
Fjuro 0fe0a239cd Translated using Weblate (Czech)
Currently translated at 100.0% (522 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/cs/
2023-08-10 21:55:16 +02:00
Stephan Paternotte e79d558437 Translated using Weblate (Dutch)
Currently translated at 39.4% (45 of 114 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-08-10 21:55:16 +02:00
Stephan Paternotte 0e983bfc5a Translated using Weblate (Dutch)
Currently translated at 100.0% (522 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-08-10 21:55:16 +02:00
Max Xie 3a56c78b42 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (521 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/zh_Hans/
2023-08-10 21:55:16 +02:00
Stephan Paternotte 7472703ef2 Translated using Weblate (Dutch)
Currently translated at 16.6% (19 of 114 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-08-10 21:55:16 +02:00
mm4c c1d79b9aea Translated using Weblate (Dutch)
Currently translated at 100.0% (522 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-08-10 21:55:16 +02:00
Stephan Paternotte 59823690b0 Translated using Weblate (Dutch)
Currently translated at 100.0% (522 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-08-10 21:55:16 +02:00
Dennis Guse 0a5b46655a Bugfix: database migration 36 did not update TrackPoint.type data (removal of SENSORPOINT).
Introduced in c0b5e71976

Fixes #1663.
2023-08-10 21:52:19 +02:00
Dennis Guse c263af7033 Bugfix: ACCESS_BACKGROUND_LOCATION is only available/required with Android 10+.
Introduced in 3910837d1a

Fixes #1662.
2023-08-10 18:02:54 +02:00
Dennis Guse 94191bbb46 Merge pull request #1661 from OpenTracksApp/idlePreparation#1187
Idle preparation#1187
2023-08-08 19:20:14 +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 c69f1e101c Idle: introduced TrackPoint for marking idle.
Part of #1187.
2023-08-08 18:52:11 +02:00
Dennis Guse 8bc781a11a Merge pull request #1660 from OpenTracksApp/cleanup
Cleanup
2023-08-08 18:51:44 +02:00
Dennis Guse 87bc7be530 Exporter: rather crash than hide lifecycle errors.
Part of #1187.
2023-08-08 18:28:19 +02:00
Dennis Guse f35eef4c57 TrackRecordingManager keeps reference to TrackPointCreator.
Part of #1187.
2023-08-08 18:28:19 +02:00
Dennis Guse 0fa0f4b5ec Move AltitudeCorrectionManager to TrackRecordingManager.
Part of #1187.
2023-08-08 18:28:19 +02:00
Dennis Guse e9f24f6bae TrackRecordingService: removed race conditions workarounds.
Part of #1187.
2023-08-08 18:28:19 +02:00
Dennis Guse 6f8438422a Tests require ACCESS_BACKGROUND_LOCATION as well.
Introduced in 3910837d1a
2023-08-08 18:28:01 +02:00
Dennis Guse 7530e1d120 AndroidStudio: code cleanup. 2023-08-08 17:57:36 +02:00
v_schaefer 3910837d1a Fix: GPS Access denied when phone in standby
Added ACCESS_BACKGROUND_LOCATION permission to access GPS while phone is in standby. This is necessary for situations where the PublicAPI is triggered to start a record from an external device like a smartwatch.
2023-08-08 12:51:11 +02:00
Dennis Guse c4235b1961 Release: v4.7.1 2023-08-06 18:26:58 +02:00
josé m 2b73139051 Translated using Weblate (Galician)
Currently translated at 8.8% (10 of 113 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/gl/
2023-08-06 12:44:33 +02:00
Skrripy 1a2d263945 Translated using Weblate (Ukrainian)
Currently translated at 83.5% (436 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-08-06 12:44:33 +02:00
Leon Marz e69bea802f AggregatedStatisticsActivity: Convert ListView to RecyclerView
Part of: #1613
2023-08-06 12:44:29 +02:00
Dennis Guse 4baaff8374 TrackDeleteService can be a JobIntentService (rather than ForegroundService).
Android 14 requires ForegroundService to have a reason.

Fixes  #1657.
2023-08-06 11:41:40 +02:00
Dennis Guse 1ed0a11c2f Move ExportServiceResultReceiver.java into ExportService. 2023-08-06 11:15:48 +02:00
Dennis Guse 971b0196da Android14: crash due to missing announcement of ForegroundServiceType.
Fixes #1655.
2023-08-06 10:51:25 +02:00
Dennis Guse 45f41d6401 Bugfix: Android 14's AltitudeConverter throws exception if no geo coords are present. 2023-08-06 10:38:12 +02:00
Dennis Guse 42234515cb Android14: crash due to missing announcement of ForegroundServiceType.
Fixes #1655.
2023-08-06 09:49:17 +02:00
Skrripy 10e479ceb9 Translated using Weblate (Ukrainian)
Currently translated at 83.3% (435 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-08-04 08:11:20 +02:00
Skrripy 88d8a808f3 Translated using Weblate (Ukrainian)
Currently translated at 82.7% (432 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2023-08-04 08:11:20 +02:00
josé m f15ae48846 Translated using Weblate (Galician)
Currently translated at 100.0% (522 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-08-04 08:11:20 +02:00
Milo Ivir 5bf4cef57d Translated using Weblate (Croatian)
Currently translated at 57.2% (299 of 522 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/hr/
2023-08-04 08:11:20 +02:00
Dennis Guse 52226c8ef4 Release: v4.7.0 2023-08-04 08:11:00 +02:00
Dennis Guse c254a6ec75 Bug: GPXExporter - TrackPoint of type SEGMENT_START_AUTOMATIC might have no location.
Fixes #1647.
2023-08-03 19:31:10 +02:00
Dennis Guse 0ecf4863a7 Bug: CSVExporter format for distance used decimal grouping. 2023-08-03 18:29:33 +02:00
Dennis Guse 325196159d Add barometer test procedure. 2023-07-30 22:15:40 +02:00
Leon Marz 6adbf39e52 Fix alignment of Statistics 2023-07-29 20:17:52 +02:00
Leon Marz db1a37f015 Reimplement sensor statistics in UI
Closes: #1426
2023-07-29 19:17:23 +02:00
dependabot[bot] 7ca9423fbf Bump androidx.preference:preference from 1.2.0 to 1.2.1
Bumps androidx.preference:preference from 1.2.0 to 1.2.1.

---
updated-dependencies:
- dependency-name: androidx.preference:preference
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 07:11:15 +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
Dennis Guse 3f891f7fb4 Release: v4.6.2 2023-07-26 07:10:43 +02:00
Dennis Guse 49260a0517 Translations fr: removed restored voice announcement plurals. 2023-07-26 07:06:01 +02:00
Fjuro 1392c5d92a Translated using Weblate (Czech)
Currently translated at 98.2% (510 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/cs/
2023-07-25 23:39:26 +02:00
Fjuro c641b436ce Translated using Weblate (Czech)
Currently translated at 94.0% (488 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/cs/
2023-07-25 23:39:26 +02:00
Lorin-lab 6948c2db41 Translated using Weblate (French)
Currently translated at 100.0% (519 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/fr/
2023-07-25 23:39:26 +02:00
josé m fb904f4a0b Translated using Weblate (Galician)
Currently translated at 100.0% (519 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-07-25 23:39:26 +02:00
josé m 6c006cc9c7 Translated using Weblate (Galician)
Currently translated at 7.2% (8 of 111 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/gl/
2023-07-25 23:39:26 +02:00
ovl-1 7a73757ab1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.7% (497 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-07-25 23:39:26 +02:00
Dennis Guse 9725cca2bf Upgrade gradlew to 8.2.0 2023-07-25 23:39:16 +02:00
Dennis Guse 252f71e75f Bump com.android.tools.build:gradle from 8.1.0-rc01 to 8.1.0 2023-07-25 23:01:47 +02:00
Dennis Guse fc2341515c Bug: TrackStatistics cannot compute average moving speed (division by zero). 2023-07-23 12:00:09 +02:00
michel 77719f5bcd Bluetooth settings: handle missing permissions
fixes #1637
2023-07-15 14:15:19 +03:00
michel 565ef7f12b Fix aggregated stats don't show imperial units for avg pace
fixes #1634
2023-07-12 19:44:09 +03:00
michel f4208e2f6b Fix clipped x graph in ChartView
fixes #1627
2023-07-12 17:02:49 +03:00
blackberrypineapple 4b3ff45609 Bugfix: crash on GPS preferences if using imperial with meters
Fixes #1629
2023-07-05 14:27:14 +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 a4ec68def6 Release: v4.6.1 2023-06-30 21:59:28 +02:00
plum7x d80be8b2a9 Translated using Weblate (Chinese (Traditional))
Currently translated at 96.5% (501 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/zh_Hant/
2023-06-29 13:52:38 +02:00
Dennis Guse 7d7ab5778a Track list: re-added aggregated stats for selections.
Removed in 9f1ea4d745

Fixes #1623.
2023-06-29 07:17:15 +02:00
Dennis Guse 1749c776ab Release: v4.6.0 2023-06-28 08:09:39 +02:00
Dennis Guse 336b9eaa9f Bugfix: Android 13 couldn't open Gallery.
Fixes #1620.
2023-06-27 21:07:35 +02:00
Dennis Guse 0fc2209ceb Merge pull request #1618 from OpenTracksApp/exportType#1608
Refactor activity type / category / icon
2023-06-27 16:10:31 +02:00
Dennis Guse 477819d730 Cleanup: split ActivityType and ActivityIcon.
Part of #1608.
2023-06-27 16:06:25 +02:00
Dennis Guse 425ea0f216 Cleanup: use ActivityType instead of passing it's id around as String.
Part of #1608.
2023-06-27 15:53:54 +02:00
Dennis Guse 779681088c Refactor Track.icon is now Track.activityTypeId.
Part of #1608.
2023-06-27 15:53:54 +02:00
Dennis Guse f824b31891 Cleanup: inline TrackIconUtils methods.
Part of #1608.
2023-06-27 15:53:54 +02:00
Dennis Guse d316a63fca Cleanup: ActivityType lookup.
Part of #1608.
2023-06-27 15:53:54 +02:00
s-k-e-t-c-h 55cf60ef2f Translated using Weblate (German)
Currently translated at 99.6% (517 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/de/
2023-06-27 15:48:40 +02:00
DerDilla 01598d0a55 Translated using Weblate (German)
Currently translated at 98.0% (509 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/de/
2023-06-27 15:48:40 +02:00
s-k-e-t-c-h 4bcba07706 Translated using Weblate (German)
Currently translated at 98.0% (509 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/de/
2023-06-27 15:48:39 +02:00
josé m ed979bdc80 Translated using Weblate (Galician)
Currently translated at 5.5% (6 of 109 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/gl/
2023-06-27 15:48:39 +02:00
josé m 1d81070d9e Translated using Weblate (Galician)
Currently translated at 98.2% (510 of 519 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-06-27 15:48:39 +02:00
josé m 357a1de07d Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-06-27 15:48:39 +02:00
josé m 84380d8373 Translated using Weblate (Galician)
Currently translated at 100.0% (509 of 509 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-06-27 15:48:39 +02:00
Dennis Guse 97c3e5a938 Commit .editorconfig for code style. 2023-06-27 15:48:25 +02:00
Dennis Guse 8fbcf5dcc0 Bump com.android.tools.build:gradle from 8.1.0-beta04 to 8.1.0-rc01 2023-06-26 23:57:47 +02:00
Dennis Guse 8c364ba7e2 Support altitude correction via Android's native AltitudeConverter (API34+).
Fixes #1492.
2023-06-22 22:50:34 +02:00
Dennis Guse 0c5c49cd92 CONTRIBUTING.md: add translations. 2023-06-22 07:35:32 +02:00
Dennis Guse 62d9e81b23 VoiceAnnouncement: migrated es, pt, zh, fr, de to ICU plural format.
Follow-up to #1584.
2023-06-22 07:25:52 +02:00
Dennis Guse 1a5acc8f2d Cleanup using AndroidStudio analyze. 2023-06-21 23:15:04 +02:00
Dennis Guse 7e9b99ae1c Merge pull request #1607 from OpenTracksApp/proofOfConcept#1584
Plural quantities via ICU.
2023-06-21 19:25:17 +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 7f6e3f7c69 Raise minSDK from 21 to 24.
Part of #1584
2023-06-21 19:18:55 +02:00
Dennis Guse e0b84df8f6 Release: v4.5.0 2023-06-20 07:32:15 +02:00
Dennis Guse a431850793 Material3: less customizing for night
mode.
2023-06-20 07:28:00 +02:00
Dennis Guse 5c17c8ffcf Material3: less customizing for day mode. 2023-06-20 07:28:00 +02:00
dependabot[bot] 0691524dfa Bump org.mockito:mockito-android from 5.3.1 to 5.4.0
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 08:32:17 +02:00
Dennis Guse 1c825b052e Bugfix: prevent crash if sensor that need computation disconnect (or connection timeout). 2023-06-16 22:48:49 +02:00
Dennis Guse eb8d28dfc1 Units: add imperial with meters.
Fixes of #1609.
2023-06-16 00:00:31 +02:00
Dennis Guse 9f1ea4d745 Migrate to Material3 design.
Fixes #1586.
2023-06-15 23:56:46 +02:00
Dennis Guse dbd64a8075 Cleanup: rename category to activityType. 2023-06-15 18:45:11 +02:00
Dennis Guse 75a88ca0e1 Bugfix: prevent crash if sensor that need computation disconnect (or connection timeout).
java.lang.Object.equals(java.lang.Object)' on a null object reference
	at de.dennisguse.opentracks.sensors.sensorData.SensorDataSet.set(SensorDataSet.java:171)
	at de.dennisguse.opentracks.sensors.sensorData.SensorDataSet.remove(SensorDataSet.java:93)
	at de.dennisguse.opentracks.sensors.SensorManager$1.onDisconnect(SensorManager.java:35)
	at de.dennisguse.opentracks.sensors.BluetoothRemoteSensorManager.onDisconnecting(BluetoothRemoteSensorManager.java:173)
2023-06-14 22:35:38 +02:00
Dennis Guse 2af19b00e5 Settings: make Bluetooth filter option readable.
Fixes #1602.
2023-06-14 22:21:02 +02:00
Dennis Guse 11db0d1a4f Rewrote GpsStatus check and added tests. 2023-06-11 21:27:50 +02:00
Dennis Guse 6a4adee2f2 Cleanup: GPS Status only reports current status. 2023-06-11 21:27:50 +02:00
Dennis Guse d04b420c56 Bugfix: GPS disabled warning was shown repeatedly.
Fixes #1429.
2023-06-11 21:27:50 +02:00
Dennis Guse 0122539d0f Bugfix: crash on starting a recording with at least one BLE sensor configured.
Introduced in f336a1da12
2023-06-11 15:21:22 +02:00
Dennis Guse 0b8c2a0ef6 Cleanup using AndroidStudio's analyze feature. 2023-06-08 21:28:35 +02:00
Dennis Guse cef363562c Merge pull request #1516 from OpenTracksApp/android14#1496
Target Android 14/API34
2023-06-08 07:19:52 +02:00
Dennis Guse e681531186 Merge remote-tracking branch 'weblate/main' 2023-06-08 07:19:07 +02:00
Dennis Guse 65c4b85bc4 EspressoTests: only grant POST_NOTIFICATION if running on Android 13. 2023-06-08 07:15:33 +02:00
Dennis Guse d7022a07a2 Cleanup: use Java17' Records.
Fixes #1526.
2023-06-08 07:06:22 +02:00
Dennis Guse 81b090893b Target Android 14/API34.
Fixes #1496.
2023-06-08 06:44:15 +02:00
Dennis Guse 3dca9304c4 Merge pull request #1568 from OpenTracksApp/pressure#1433
Preparing for use BLE Environmental Sensing sensor for elevation gain/loss
2023-06-08 06:38:49 +02:00
mm4c 7fc6492e13 Translated using Weblate (Dutch)
Currently translated at 100.0% (507 of 507 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-06-07 10:50:38 +02:00
Dennis Guse 80d968dd0f Cleanup. 2023-06-04 13:16:22 +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 1657bf5ec1 Cleanup: removed SensorDataSetChangeObserver interface.
Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse d046ca1cd8 SensorManager handles SensorDataSet.
Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse 6c852091ce AltitudeSumManager: extracted Barometer driver.
Part of #1424.
2023-06-04 13:16:22 +02:00
Dennis Guse 4906d3f942 Introduced AtmosphericPressure.
Part of #1424.
2023-06-04 13:16:22 +02:00
denta58 0395394e26 Bluetooth pressure data parse 2023-06-04 13:16:22 +02:00
Dennis Guse ebcc7dc46e Bump to gradle wrapper 8.1.1 2023-06-04 12:36:10 +02:00
Dennis Guse 1e4246e73a Bump com.android.tools.build:gradle from 8.1.0-beta03 to 8.1.0-beta04 2023-06-04 12:27:01 +02:00
Chris 3ca8381504 App shortcut for aggregated statistics.
Part of #1563.
2023-06-04 11:57:25 +02:00
ovl-1 b92457cb23 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.8% (496 of 507 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-06-02 17:51:32 +02:00
josé m 4baec1e672 Translated using Weblate (Galician)
Currently translated at 100.0% (507 of 507 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-06-02 17:51:31 +02:00
Dennis Guse c702c5a4a0 Bugfix: translation for settings_recording_min_required_accuracy_summary needs to be inverted.
Fixes #1573.
2023-05-31 17:12:15 +02:00
Dennis Guse 24c2c5fc1b Release: v4.4.0 2023-05-29 19:48:47 +02:00
ovl-1 8797b033a3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (493 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-05-29 19:48:47 +02:00
Dennis Guse b2c4cdc4aa Merge pull request #1318 from OpenTracksApp/exportOne#448
Export all tracks into one file
2023-05-29 09:08:13 +02:00
Dennis Guse ae37ec9c33 Bugfix: set file suffix for "one file"-exports explicitly.
KML/KMZ was added by AndroidOS, but not GPX.

Part of #1318.
2023-05-28 21:30:09 +02:00
Dennis Guse ccc18739a4 Bugfix: KML exporter for multiple tracks created invalid XML.
Part of #1318.
2023-05-28 21:30:09 +02:00
Dennis Guse f48c4806b5 Simplify TrackExporter interface. 2023-05-28 21:30:09 +02:00
Dennis Guse 3aadf6d5d8 Cleanup: use an enum for export's conflict resolution. 2023-05-28 21:30:09 +02:00
Dennis Guse 2f2679c775 Export: implement export to one file.
Fixes #1318
2023-05-28 21:30:09 +02:00
Dennis Guse 442e23b106 Cleanup: EGM2008CorrectionManager returns Altitude. 2023-05-27 08:07:33 +02:00
Dennis Guse 65249f11b2 Move Help from Settings to TrackList (overflow menu).
Fixes #956.
2023-05-26 13:24:43 +02:00
Dennis Guse 34b5c2ab18 BLE: code for fetching and parsing battery level (not used).
Part of #24.
2023-05-25 22:09:27 +02:00
Dennis Guse 93919183be Cleanup: use ActivityUtils.vibrate(). 2023-05-24 20:18:35 +02:00
Dennis Guse 1915641d78 Fix tests for FileUtils.buildUniqueFileName(). 2023-05-23 23:28:25 +02:00
Dennis Guse c2c7cad3eb Warning: do not change MAIN/LAUNCHER activity name due to use by icon packs. 2023-05-23 21:22:08 +02:00
Dennis Guse e4957e45af Espresso UI tests: get required permissions for Android 13. 2023-05-20 15:59:44 +02:00
Dennis Guse 77bce9a5eb Bump com.android.tools.build:gradle from 8.1.0-beta02 to 8.1.0-beta03 2023-05-20 15:59:37 +02:00
Dennis Guse 6538f0d587 Release: v4.3.5 2023-05-15 17:37:40 +02:00
rjo12 5b0e7e5065 Bugfix: Off-by-one bug in subtracting UINT. Fixes #1557 2023-05-15 08:19:49 +02:00
Dennis Guse d6cf8ba90e Bump com.android.tools.build:gradle from 8.1.0-beta01 to 0.1.0-beta02 2023-05-13 13:43:33 +02:00
Dennis Guse 29568d0e3f Bugfix: prevent crash when creating a marker (no camera or gallery application present).
Fixes #1561.
2023-05-13 13:41:07 +02:00
Dennis Guse a571c4c93b Merge remote-tracking branch 'weblate/main' 2023-05-13 13:39:17 +02:00
mm4c 073fed6c84 Translated using Weblate (Dutch)
Currently translated at 9.5% (10 of 105 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-05-11 15:50:15 +02:00
mm4c 6847e1f899 Translated using Weblate (Dutch)
Currently translated at 99.4% (502 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-05-11 15:50:14 +02:00
Dennis Guse 427048ac11 Bugfix: crash when changing layout from one with 3 column layout to one with 2 columns.
Fixes #1554.
2023-05-08 23:34:43 +02:00
Shimon 240ea47c43 Translated using Weblate (Czech)
Currently translated at 99.8% (504 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/cs/
2023-05-06 15:48:40 +02:00
dependabot[bot] 068d56a850 Bump com.google.android.material:material from 1.8.0 to 1.9.0
Bumps [com.google.android.material:material](https://github.com/material-components/material-components-android) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.8.0...1.9.0)

---
updated-dependencies:
- dependency-name: com.google.android.material:material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 07:59:57 +02:00
plum7x 76d02da973 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (505 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/zh_Hant/
2023-05-04 10:49:21 +02:00
dependabot[bot] 4664895ae3 Bump androidx.mediarouter:mediarouter from 1.3.1 to 1.4.0
Bumps androidx.mediarouter:mediarouter from 1.3.1 to 1.4.0.

---
updated-dependencies:
- dependency-name: androidx.mediarouter:mediarouter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-04 07:18:21 +02:00
Rens Hijdra 5235c8cf83 Translated using Weblate (Dutch)
Currently translated at 97.6% (493 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-05-02 16:01:51 +02:00
Dennis Guse 4f040ac79f Release: v4.3.4 2023-05-01 12:53:35 +02:00
Dennis Guse dcad42bf4d Build: remove resConfigs limiting included languages.
Fixes #1527.
2023-05-01 12:44:19 +02:00
mm4c 2eea93a4a3 Translated using Weblate (Dutch)
Currently translated at 9.5% (10 of 105 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2023-04-29 15:50:49 +02:00
mm4c 55e419475a Translated using Weblate (Dutch)
Currently translated at 96.6% (488 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nl/
2023-04-29 15:50:48 +02:00
Dennis Guse 9225d90e45 Release: v4.3.3 2023-04-27 18:49:23 +02:00
Dennis Guse 32dc6fef82 Bugfix: CustomLayout - title for pace was speed/GPS.
Introduced in d70e7b8788
2023-04-26 07:19:11 +02:00
Dennis Guse 96fb65b6b0 Bugfix: hidden DataFields should be hidden.
Introduced in d70e7b8788
2023-04-26 07:19:11 +02:00
dependabot[bot] 936bbf9264 Bump org.mockito:mockito-android from 5.3.0 to 5.3.1
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.3.0...v5.3.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 07:01:14 +02:00
Dennis Guse 241a52ee7c Release: v4.3.2 2023-04-23 09:57:41 +02:00
Dennis Guse c66e285bf5 README: move human tech badge to codeberg. 2023-04-23 09:06:15 +02:00
Dennis Guse 8c1ddc077d Merge remote-tracking branch 'weblate/main' 2023-04-22 13:29:01 +02:00
dependabot[bot] 61c18af639 Bump com.android.tools.build:gradle from 8.1.0-alpha11 to 8.1.0-beta01
Bumps com.android.tools.build:gradle from 8.1.0-alpha11 to 8.1.0-beta01.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 10:19:35 +02:00
dependabot[bot] b83df3ac4b Bump androidx.core:core-splashscreen from 1.0.0 to 1.0.1
Bumps androidx.core:core-splashscreen from 1.0.0 to 1.0.1.

---
updated-dependencies:
- dependency-name: androidx.core:core-splashscreen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-20 07:29:34 +02:00
plum7x 53f1c4b7f3 Translated using Weblate (Chinese (Traditional))
Currently translated at 2.9% (3 of 103 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/zh_Hant/
2023-04-19 11:50:26 +02:00
plum7x 6290bdbab0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (506 of 506 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/zh_Hant/
2023-04-19 11:50:26 +02:00
josé m bd0d85cd37 Translated using Weblate (Galician)
Currently translated at 100.0% (506 of 506 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-04-19 11:50:25 +02:00
Dennis Guse ba08417236 Cleanup: moved non-translatable string to correct file.
Part of #1527.
2023-04-18 12:55:21 +02:00
Dennis Guse 63281a3ca8 README: add dedicated link ot weblate. 2023-04-16 20:02:09 +02:00
Dennis Guse fae0cf8454 Merge pull request #1525 from OpenTracksApp/java17cleanup
Java 17 cleanup
2023-04-13 15:38:18 +02:00
Dennis Guse efddb31391 Cleanup: use Java17 switch statements.
AndroidStudio code cleanup.
2023-04-13 15:10:17 +02:00
Dennis Guse 3a8e547e10 Gradle: use configureEach instead of all. 2023-04-13 14:52:41 +02:00
Dennis Guse fe09d18197 Merge pull request #1523 from OpenTracksApp/bugKML#1522
Bug kml#1522
2023-04-13 14:34:48 +02:00
Dennis Guse 93bcf8d494 Bugfix: KML header malformed.
Fixes #1522.
Introduced in 82fe859c84
2023-04-12 23:09:04 +02:00
Dennis Guse 819f454bd8 Refactored TrackFileFormat interface. 2023-04-12 22:41:56 +02:00
Dennis Guse 7d58014b15 Cleanup/Java 17: use multi-line text blocks. 2023-04-12 22:39:30 +02:00
Dennis Guse 9dac95569c AGP: use Java 17. 2023-04-12 22:31:41 +02:00
Dennis Guse 96c98ad275 Merge pull request #1521 from OpenTracksApp/agp81
Upgrade to AGP 8.1.0-alpha
2023-04-12 19:37:15 +02:00
Dennis Guse 7dcc0ec8bc AGP: generate local_config.xml 2023-04-12 19:30:57 +02:00
Dennis Guse 09ecc03be5 AGP: update 8.0.0 (incl. Java 17). 2023-04-12 19:30:57 +02:00
dependabot[bot] d7a5ffb938 Bump org.mockito:mockito-android from 5.2.0 to 5.3.0
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 09:32:03 +02:00
Dennis Guse 0605dbb0ab Release: v4.3.1 2023-04-07 18:11:52 +02:00
Dennis Guse bf03de6be7 Bugfix: GPS disabled warning was showing (repeatedly but incorrectly).
Fixes #1429.
2023-04-07 11:13:57 +02:00
Dennis Guse d65ce361f7 Upgrade gradlew to 8.0.2. 2023-04-06 07:37:43 +02:00
Dennis Guse 3f600f6be7 Voice announcements: added setting to skip announcements on the device's internal speaker.
Fixes #1392.
2023-04-05 18:26:29 +02:00
dependabot[bot] 9aab3c216c Bump com.android.tools:desugar_jdk_libs from 2.0.2 to 2.0.3
Bumps [com.android.tools:desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/google/desugar_jdk_libs/releases)
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

---
updated-dependencies:
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 19:25:16 +02:00
Dennis Guse 7935185812 UI: split stats_item between generic and sensor (some bugfixes).
Part of #24.
2023-03-29 21:50:42 +02:00
Dennis Guse 4c1b1be96c UI: split stats_item between generic and sensor.
Part of #24.
2023-03-28 21:08:46 +02:00
Dennis Guse 5762830655 Merge pull request #1461 from OpenTracksApp/refactorSensor
Refactor: unify the internal sensor handling.
2023-03-28 21:08:08 +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 f3caecd049 Refactor: rename BluetoothConnectionManager. 2023-03-27 22:59:31 +02:00
Dennis Guse e16780277f Refactor: introduced SensorConnector interface. 2023-03-27 22:59:31 +02:00
Dennis Guse 13484685a3 Merge remote-tracking branch 'weblate/main' 2023-03-25 09:06:27 +01:00
plum7x 7b745d9837 Update strings.xml 2023-03-17 07:41:32 +01:00
plum7x 52742064f6 Updated traditional Chinese translation (#1498) 2023-03-14 20:50:51 +01:00
josé m 2edf5582aa Translated using Weblate (Galician)
Currently translated at 100.0% (505 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/gl/
2023-03-11 18:37:57 +01:00
dependabot[bot] 808eb92bf2 Bump org.mockito:mockito-android from 4.11.0 to 5.2.0
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 4.11.0 to 5.2.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.11.0...v5.2.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 06:13:23 +01:00
Dennis Guse c0b84c3d72 Release: v4.3.0 2023-03-09 05:20:22 +01:00
Miguel Almeida e275d3e5c0 Enable backups if client side encryption is enabled 2023-03-08 23:12:26 +01:00
Dennis Guse b4ebad2c3c Merge remote-tracking branch 'weblate/main' 2023-03-07 21:25:56 +01:00
dependabot[bot] 1ab76e1317 Bump com.android.tools.build:gradle from 7.4.1 to 7.4.2
Bumps com.android.tools.build:gradle from 7.4.1 to 7.4.2.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 06:04:48 -05:00
nobkd 3d1104dd0b remove typo 2023-02-17 10:44:41 -05:00
dependabot[bot] 2df45d31de Bump androidx.appcompat:appcompat from 1.6.0 to 1.6.1
Bumps androidx.appcompat:appcompat from 1.6.0 to 1.6.1.

---
updated-dependencies:
- dependency-name: androidx.appcompat:appcompat
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-12 14:06:47 +01:00
Allan Nordhøy 5436981e0d Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.4% (492 of 505 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2023-02-10 07:38:30 +01:00
dependabot[bot] fd2b1bec7d Bump com.android.tools:desugar_jdk_libs from 2.0.1 to 2.0.2
Bumps [com.android.tools:desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/google/desugar_jdk_libs/releases)
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

---
updated-dependencies:
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 12:18:53 +01:00
elastic rock bb1eaa5b56 Android system per-app language preferences 2023-02-05 00:58:21 +01:00
Peter Storch dae8eaa97a Release: v4.2.2 2023-02-04 21:53:35 +01:00
Peter Storch 565b1ce94d Correct link to F-Droid build monitor 2023-02-04 21:53:24 +01:00
dependabot[bot] 543d5e18bf Bump com.android.tools:desugar_jdk_libs from 2.0.0 to 2.0.1
Bumps [com.android.tools:desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/google/desugar_jdk_libs/releases)
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

---
updated-dependencies:
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 05:05:29 +01:00
dependabot[bot] 01368df6b1 Bump com.android.tools.build:gradle from 7.4.0 to 7.4.1
Bumps com.android.tools.build:gradle from 7.4.0 to 7.4.1.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-02 07:03:02 +01:00
Dennis Guse c666d55211 Bug: crash due to color not found.
Introduced in 674d231b7a
2023-01-30 23:11:21 +01:00
Dennis Guse 8cc4fd1d4f Bugfix: not all activityTypes were shown in dropdownlist. 2023-01-29 16:50:04 +01:00
Dennis Guse c241a35861 Refactor: introduced ActivityType. 2023-01-29 16:50:04 +01:00
Dennis Guse 674d231b7a Bug: textcolor for heartrate zone 1 was ignoring theme.
Fixes #1455.
2023-01-27 02:00:38 +01:00
Dennis Guse bebee59eb2 Bug: Track icon wrongly shown in dialog.
Fixes #1453.
2023-01-25 16:37:35 +01:00
dependabot[bot] 24f843b0db Bump material from 1.7.0 to 1.8.0
Bumps [material](https://github.com/material-components/material-components-android) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.7.0...1.8.0)

---
updated-dependencies:
- dependency-name: com.google.android.material:material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-25 07:04:21 +01:00
Dennis Guse f0259d13dd Release: v4.2.1 2023-01-21 19:03:07 +01:00
Dennis Guse 9dff965a52 Cycling speed sensor: wheel diameter can now be 100mm until 4000mm
Fixes #1447.
2023-01-17 22:47:59 +01:00
Mario Ruiz b4e6d10fbe Translated using Weblate (Spanish)
Currently translated at 100.0% (503 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/es/
2023-01-16 12:22:26 +01:00
Dennis Guse 1a9d88277f Fix pt-PT translations. 2023-01-13 08:08:49 +01:00
Dennis Guse 4ea956ca0e Merge branch 'translations' 2023-01-13 08:02:27 +01:00
dependabot[bot] 8060c2e1e3 Bump desugar_jdk_libs from 1.2.2 to 2.0.0
Bumps [desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 1.2.2 to 2.0.0.
- [Release notes](https://github.com/google/desugar_jdk_libs/releases)
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

---
updated-dependencies:
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-13 08:01:58 +01:00
dependabot[bot] 8c96b65e59 Bump gradle from 7.3.1 to 7.4.0
Bumps gradle from 7.3.1 to 7.4.0.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-13 07:47:56 +01:00
Dennis Guse a407e94d3c Upgrade to appcompat:1.6.0 2023-01-11 22:58:23 +01:00
ssantos 310c790324 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (503 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/pt_PT/
2023-01-11 13:50:39 +01:00
Dennis Guse 12b3d31f5c Bugfix: BluetoothLE requires to trigger reconnect on either disconnect or never connected.
Initial connection timeout seems to be 30s.
Fixes #1442.
2023-01-05 20:52:15 +01:00
dependabot[bot] d43dca61c1 Bump runner from 1.5.1 to 1.5.2
Bumps runner from 1.5.1 to 1.5.2.

---
updated-dependencies:
- dependency-name: androidx.test:runner
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 07:28:24 +01:00
dependabot[bot] 20c14a03b2 Bump junit from 1.1.4 to 1.1.5
Bumps junit from 1.1.4 to 1.1.5.

---
updated-dependencies:
- dependency-name: androidx.test.ext:junit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 07:27:28 +01:00
dependabot[bot] a6601f4eea Bump espresso-core from 3.5.0 to 3.5.1
Bumps espresso-core from 3.5.0 to 3.5.1.

---
updated-dependencies:
- dependency-name: androidx.test.espresso:espresso-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 07:27:04 +01:00
Dennis Guse 220c7b1443 Release: v4.2.0 2023-01-03 23:10:05 +01:00
Dennis Guse 33bb63976d Merge branch 'translations' 2023-01-03 23:04:44 +01:00
Dennis Guse 8db8f68d69 Fix pt translations. 2023-01-03 23:04:37 +01:00
Dennis Guse 99b417217e Bugfix: StatisticsRecordingFragment should only clear viewHolder when the views get destroyed.
Introduced in d70e7b8788
2023-01-02 23:37:38 +01:00
Dennis Guse ac80386b8a Refactor tests: use mocks for BluetoothRemoteSensorManager. 2022-12-30 16:22:46 +01:00
Dennis Guse b96441a964 Refactor: BluetoothUtils return HeartRate. 2022-12-30 16:11:22 +01:00
dependabot[bot] 207f9563df Bump mockito-android from 4.10.0 to 4.11.0
Bumps [mockito-android](https://github.com/mockito/mockito) from 4.10.0 to 4.11.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.10.0...v4.11.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-29 12:55:30 +01:00
ssantos 7b84bf448b Translated using Weblate (Portuguese)
Currently translated at 100.0% (503 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/pt/
2022-12-29 11:49:03 +01:00
Dennis Guse 41a62fd412 Merge remote-tracking branch 'weblate2/main' 2022-12-27 22:26:30 +01:00
Dan 1087dbf387 Translated using Weblate (Ukrainian)
Currently translated at 88.8% (447 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/uk/
2022-12-18 00:55:30 +01:00
dependabot[bot] e16d1d53c6 Bump mockito-android from 4.9.0 to 4.10.0
Bumps [mockito-android](https://github.com/mockito/mockito) from 4.9.0 to 4.10.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.9.0...v4.10.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-15 07:31:29 +01:00
Dennis Guse 00c9ba6595 Merge remote-tracking branch 'weblate2/main' 2022-12-08 20:11:00 +01:00
Dennis Guse 7c1995c67f Bugfix: NPE; introduced in b53ef455a6
Fixes #1431.
2022-12-08 20:07:26 +01:00
ovl-1 d2e0ae8b11 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.8% (492 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2022-11-28 16:47:53 +01:00
Allan Nordhøy f0aa49537d Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.8% (492 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2022-11-26 06:46:57 +01:00
Dennis Guse 14ace294f3 Make Public API summary translatable.
Fixes #1430.
2022-11-25 21:17:18 +01:00
Dennis Guse b53ef455a6 Merge pull request #1427 from OpenTracksApp/heartrate#1118
Heartrate zones
2022-11-25 19:03:56 +01:00
Dennis Guse 3dc6c6607d Removed obsolete test.
Introduced in d70e7b8788
2022-11-25 07:50:25 +01:00
Dennis Guse dd91e05fb6 Bugfix: sensor name/address must be visible.
Introduced in d70e7b8788
2022-11-25 07:42:18 +01:00
Dennis Guse 19fe5275b9 Heartrate zones: adding preference for max heartrate.
Fixes #1118.
2022-11-25 07:41:04 +01:00
Dennis Guse 1aeb9ca332 Heartrate zones: adding preference for max heartrate.
Part of #1118.
2022-11-25 07:05:55 +01:00
Allan Nordhøy 520c240a19 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (491 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/nb_NO/
2022-11-25 00:13:22 +01:00
Dennis Guse 48aaca13d0 Migrated to hosted.weblate.org
Reason: weblate.bubu1.eu shutdown end of 2022.
Alternative: translate.codeberg.org
Selection method: flipped a coin

Fixes #1396.
2022-11-24 20:57:47 +01:00
Hosted Weblate 88a31f4f39 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/
2022-11-24 20:49:19 +01:00
Dennis Guse 5ce9e6606b Merge pull request #1386 from OpenTracksApp/refactor#1118
Simplify RecordingLayout so we can create custom UIs #1118
2022-11-22 07:12:12 +01:00
Dennis Guse 4ea70b15e7 Renamed Layout to RecordingLayout.
Part of #1118.
2022-11-22 07:06:56 +01:00
Dennis Guse d3cf2957cc StatisticsCustomLayoutEditAdapter: use StatisticsViewHolder (with demo data).
Part of #1118.
2022-11-22 07:06:47 +01:00
Dennis Guse dbac595754 StatisticsCustomLayoutEditAdapter: use viewBinding.
Part of #1118.
2022-11-22 07:06:47 +01:00
Dennis Guse d70e7b8788 StatisticsRecordingFragment: render Views manually (instead of RecyclerView).
Part of #1118.
2022-11-22 07:06:45 +01:00
dependabot[bot] f6835852b6 Bump mockito-android from 4.8.1 to 4.9.0
Bumps [mockito-android](https://github.com/mockito/mockito) from 4.8.1 to 4.9.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.8.1...v4.9.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-15 06:37:13 +01:00
Dennis Guse d5864726f6 StatisticsData: do not expose DataField.
Part of #1118.
2022-11-10 21:45:28 +01:00
Dennis Guse 3cc3271726 Cleanup: move Layout/DataField persistence into one class.
Part of #1118.
2022-11-10 21:45:28 +01:00
Dennis Guse 8aef9c8d28 Refactor StatisticsAdapter to use ViewBindings.
Part of #1118.
2022-11-10 21:45:28 +01:00
dependabot[bot] bcca00d110 Bump core from 1.4.0 to 1.5.0
Bumps core from 1.4.0 to 1.5.0.

---
updated-dependencies:
- dependency-name: androidx.test:core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 07:41:28 +01:00
dependabot[bot] aa929161b4 Bump orchestrator from 1.4.1 to 1.4.2
Bumps orchestrator from 1.4.1 to 1.4.2.

---
updated-dependencies:
- dependency-name: androidx.test:orchestrator
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 07:19:57 +01:00
dependabot[bot] 70cb9cbf51 Bump junit from 1.1.3 to 1.1.4
Bumps junit from 1.1.3 to 1.1.4.

---
updated-dependencies:
- dependency-name: androidx.test.ext:junit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 07:19:49 +01:00
dependabot[bot] fef3b97661 Bump runner from 1.4.0 to 1.5.1
Bumps runner from 1.4.0 to 1.5.1.

---
updated-dependencies:
- dependency-name: androidx.test:runner
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-09 22:39:56 +01:00
dependabot[bot] 945f366195 Bump espresso-core from 3.4.0 to 3.5.0
Bumps espresso-core from 3.4.0 to 3.5.0.

---
updated-dependencies:
- dependency-name: androidx.test.espresso:espresso-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-09 22:36:09 +01:00
dependabot[bot] 8c0a851d87 Bump rules from 1.4.0 to 1.5.0
Bumps rules from 1.4.0 to 1.5.0.

---
updated-dependencies:
- dependency-name: androidx.test:rules
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-09 22:35:54 +01:00
Dennis Guse 3eb89d7899 Release: v4.1.2 2022-11-04 22:02:07 +01:00
Nicolas Palix f12ff4a625 Translated using Weblate (French)
Currently translated at 100.0% (503 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr/
2022-11-02 18:15:03 +01:00
Sam 71dac06ce8 README: add FitTrackee to format compatibility matrix 2022-11-02 18:14:59 +01:00
Markus Dittmann 07090cd72c Fix incorrect German translation of "Open Track"
Change the German translation of the "Open Track" button label from
"Offene Strecke" (an "open track") to "Strecke öffnen" ("open this track").

Without context, both variants of the original english phrase are correct
translations, but as a button label in the context of importing a track it is
clear that "open" is a verb and the phrase is an action prompt, and not an
adjective to describe the track.
2022-11-02 18:13:02 +01:00
Dennis Guse 26a20fe32d Voice announcements: distance only with one decimal unit.
Follow-up to: 8a9cd40bd5
2022-10-29 20:35:37 +02:00
FTno d74ef256d7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (503 of 503 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/nb_NO/
2022-10-28 22:55:44 +02:00
Lorin-lab 0392ba5128 Translated using Weblate (French)
Currently translated at 100.0% (502 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr/
2022-10-28 22:55:44 +02:00
Lorin-lab 3d12ebdaa3 Translated using Weblate (French (Switzerland))
Currently translated at 53.1% (267 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr_CH/
2022-10-28 22:55:44 +02:00
Dennis Guse b3cb5e8091 Merge pull request #1406 from OpenTracksApp/raceCondition#1328
Handle LocationManager callbacks with TrackRecordingService's handler.
2022-10-28 22:55:40 +02:00
Dennis Guse 8f9cbcc077 Github Actions: disable test execution as results are flaky due to performance limitations.
Fixes #1409.
2022-10-28 22:39:45 +02: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 498ee20e2a Test: update and re-enable ExportImportTest for csv_export. 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 8073f12947 Bugfix: prevent crash while stopping recording (race condition).
Part of #1328
2022-10-27 20:30:00 +02:00
dependabot[bot] cacfcbd4d6 Bump material from 1.6.1 to 1.7.0
Bumps [material](https://github.com/material-components/material-components-android) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.6.1...1.7.0)

---
updated-dependencies:
- dependency-name: com.google.android.material:material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-23 12:39:59 +02:00
Lorin-lab 08673de331 Fixed bad string for an answer in the FAQ 2022-10-19 21:16:00 +02:00
Dennis Guse aecd1504f3 Unpin indirect dependency versions again (upstream fixed it).
Introduced in 594f69320a
2022-10-19 20:00:52 +02:00
Dennis Guse f3bf42083a Cleanup. 2022-10-18 20:21:20 +02:00
Dennis Guse 8a9cd40bd5 Voice announcements: distance only with one decimal unit. 2022-10-18 20:21:20 +02:00
dependabot[bot] fee1d1a871 Bump mockito-android from 4.8.0 to 4.8.1
Bumps [mockito-android](https://github.com/mockito/mockito) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.8.0...v4.8.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-18 07:04:18 +02:00
dependabot[bot] 0787ae6686 Bump gradle from 7.3.0 to 7.3.1
Bumps gradle from 7.3.0 to 7.3.1.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 17:38:05 +02:00
Dennis Guse 747ef9fc56 pt/BR: fix plurals. 2022-10-17 17:37:07 +02:00
mondstern 5911d60818 Translated using Weblate (Irish)
Currently translated at 98.0% (492 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/ga/
2022-10-13 00:11:00 +02:00
gbpu b89dbf5819 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (501 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/pt_BR/
2022-10-13 00:10:58 +02:00
mondstern 99e2c1f38d Translated using Weblate (Irish)
Currently translated at 91.7% (89 of 97 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/ga/
2022-10-11 10:11:03 +02:00
mondstern faa1ffe53b Translated using Weblate (Irish)
Currently translated at 72.9% (366 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/ga/
2022-10-11 10:11:01 +02:00
mondstern 8461122df0 Added translation using Weblate (Irish) 2022-10-09 17:56:21 +02:00
FTno 2ca7aa8f1d Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (502 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/nb_NO/
2022-10-05 15:10:54 +02:00
Dennis Guse 9db2aff631 Release: v4.1.1 2022-09-29 20:23:21 +02:00
Xosé M b7cedab1fb Translated using Weblate (Galician)
Currently translated at 100.0% (502 of 502 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/gl/
2022-09-28 21:39:42 +02:00
metezd 0a193c8b5c Translated using Weblate (Turkish)
Currently translated at 97.8% (490 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/tr/
2022-09-28 21:39:42 +02:00
Mingu113 7049fab204 Translated using Weblate (Vietnamese)
Currently translated at 73.6% (70 of 95 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/vi/
2022-09-28 21:39:42 +02:00
Mingu113 80fa49bcf0 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/vi/
2022-09-28 21:39:42 +02:00
Leon Marz a1eb5fb15f Check if the device has GPS
Fixes #1380
2022-09-28 21:39:33 +02:00
dependabot[bot] 9160b9b104 Bump reactivecircus/android-emulator-runner from 2.25.0 to 2.26.0
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) from 2.25.0 to 2.26.0.
- [Release notes](https://github.com/reactivecircus/android-emulator-runner/releases)
- [Changelog](https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md)
- [Commits](https://github.com/reactivecircus/android-emulator-runner/compare/v2.25.0...v2.26.0)

---
updated-dependencies:
- dependency-name: reactivecircus/android-emulator-runner
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 20:19:51 +02:00
Dennis Guse 85a73c3c85 Implement introduction screen.
Fixes #1316.
2022-09-18 15:44:49 +02:00
Dennis Guse 8389f9150a Update sensor documentation. 2022-09-17 17:08:50 +02:00
Dennis Guse 3075f4010f Release: v4.1.0 2022-09-15 23:14:53 +02:00
Dennis Guse 82e305e6a7 Upgrade to Android Gradle Plugin 7.3.0 2022-09-15 22:14:55 +02:00
Dennis Guse 6351a335c0 Merge pull request #1217 from OpenTracksApp/kml23#339
Upgrade to KML2.3
2022-09-13 23:51:10 +02:00
Dennis Guse 6538daedef README: add export format compatibility matrix.
Part of #339.
2022-09-13 23:50:43 +02:00
Dennis Guse 82fe859c84 KML: Export KML2.3 - KML2.2 and KML2.3 can be imported.
Fixes #339.
2022-09-13 23:20:06 +02:00
Dennis Guse f567b03be5 Bugfix: import all crashed with ClassCastException. 2022-09-11 14:37:35 +02:00
monyxie 7dc4e8dbc8 Translated using Weblate (Chinese (Simplified))
Currently translated at 72.6% (69 of 95 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/zh_Hans/
2022-09-10 23:11:09 +02:00
monyxie 2a272a887e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/zh_Hans/
2022-09-10 23:11:09 +02:00
Xosé M 868509e00b Translated using Weblate (Galician)
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/gl/
2022-09-10 23:11:08 +02:00
FTno 477bdd5214 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/nb_NO/
2022-09-10 23:11:08 +02:00
Xosé M 286cec8d77 Translated using Weblate (Galician)
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/gl/
2022-09-10 23:11:08 +02:00
Dennis Guse 58d4ee7d7d Merge pull request #1372 from OpenTracksApp/cadence#1352
Cycling cadence from powermeter
2022-09-10 23:10:58 +02:00
dependabot[bot] 0e93a304f0 Bump appcompat from 1.5.0 to 1.5.1
Bumps appcompat from 1.5.0 to 1.5.1.

---
updated-dependencies:
- dependency-name: androidx.appcompat:appcompat
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 22:24:38 +02:00
dependabot[bot] 0adc4c7986 Bump mockito-android from 4.7.0 to 4.8.0
Bumps [mockito-android](https://github.com/mockito/mockito) from 4.7.0 to 4.8.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.7.0...v4.8.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 22:20:51 +02:00
Dennis Guse a93424629d BLE: process cycling cadence from powermeter.
Fixes #1352.
2022-09-04 19:55:32 +02:00
Dennis Guse da29766fd0 BLE: BluetoothConnectionManager supports multiple BLE services per sensor type (e.g., cadence).
Part of #1352.
2022-09-04 19:11:31 +02:00
Dennis Guse dc7afbd07f BLE: extract SensorDataCycling.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse 67b174feac BLE: do not try to connect twice.
Might had some interesting side effects.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse b6b81b5d3d BLE: extract sensor managers into separate files.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse 7d804b603d BLE: decode cadence from cycling powermeter.
Part of #1352.
2022-09-04 12:11:09 +02:00
Dennis Guse 8696a15ce7 Cleanup: introduced ServiceMeasurementUUID.
Part of #1352.
2022-09-04 11:54:26 +02:00
Dennis Guse 989fe39849 Cleanup: BLE preferences.
Part of #1352.
2022-09-04 11:31:42 +02:00
Dennis Guse ed1e432691 Merge remote-tracking branch 'weblate/main' 2022-09-03 23:58:15 +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 e5d1e421a4 Release: v4.0.8 2022-09-03 10:21:38 +02:00
Surfoo 08ab8cc61d Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr/
2022-08-28 17:01:16 +02:00
Dennis Guse c3b30815c8 SplashScreen: use Androidx library.
Improvement for Android 12+.
Fixes #1365.
2022-08-28 17:01:10 +02:00
Dennis Guse 5a4919efd2 PublicAPI: support setting the icon.
Fixes #1282.
2022-08-28 15:17:42 +02:00
dependabot[bot] bb549fdc93 Bump desugar_jdk_libs from 1.2.0 to 1.2.2
Bumps [desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 1.2.0 to 1.2.2.
- [Release notes](https://github.com/google/desugar_jdk_libs/releases)
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

---
updated-dependencies:
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-25 21:58:51 +02:00
Dennis Guse 73e59cbba2 UI: show timezone if different than local.
Fixes #1296.
2022-08-22 18:43:53 +02:00
Dennis Guse 27727b6dcf Merge pull request #1310 from OpenTracksApp/time
Refactoring things regarding Duration, Speed, and Distance
2022-08-21 23:25:44 +02:00
Dennis Guse 06d2957407 Desugar: upgrade to AGP 7.3.0-rc01
Required for desugar 1.2.0)
2022-08-21 23:25:06 +02:00
Dennis Guse 8b08af6bcf Upgrade to Gradlew 7.5.1 2022-08-21 22:02:49 +02:00
Dennis Guse 78dad95ef6 Altitude: show always in m/ft.
Fixes #1319.
2022-08-21 22:02:49 +02:00
Dennis Guse be9d56721e Preferences: nicer formattings for distances. 2022-08-21 22:02:49 +02:00
Dennis Guse e5785dd3ac Distance now does all conversions itself. 2022-08-21 22:02:49 +02:00
Dennis Guse 11d912d14d Speed: use Distance for conversions. 2022-08-21 22:02:49 +02:00
Dennis Guse 807ac3fc9f Remove UnitConversions for time/durations. 2022-08-21 22:02:49 +02:00
Dennis Guse 45874d3749 Release: v4.0.7 2022-08-21 21:55:19 +02:00
Peter Storch 594f69320a Fix dependencies to lifecycle-viewmodel 2022-08-21 19:28:07 +02:00
dependabot[bot] d4927c9444 Bump appcompat from 1.4.2 to 1.5.0
Bumps appcompat from 1.4.2 to 1.5.0.

---
updated-dependencies:
- dependency-name: androidx.appcompat:appcompat
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-21 19:28:07 +02:00
Alexander Ivanov 00dbd056d6 Translated using Weblate (Russian)
Currently translated at 99.0% (496 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/ru/
2022-08-21 18:53:26 +02:00
M K 8f19ad8f66 Translated using Weblate (Arabic)
Currently translated at 53.6% (269 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/ar/
2022-08-21 18:53:26 +02:00
mondstern 2fdad54a7c Translated using Weblate (German)
Currently translated at 94.8% (475 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/de/
2022-08-21 18:53:26 +02:00
Peter Storch 5a5f040ed5 Fix #1340 mass track deletion time 2022-08-21 18:53:20 +02:00
Dennis Guse 0ada9a2463 Android13: request NOTIFICATION_POST permission.
Fixes #1353.
Part of #1210.
2022-08-18 08:07:37 +02:00
Dennis Guse 719bb981ec Bugfix: Public API stop does not start service in foreground.
Fixes #1354.
2022-08-17 18:43:27 +02:00
dependabot[bot] 3c95d8744d Bump mockito-android from 4.6.1 to 4.7.0
Bumps [mockito-android](https://github.com/mockito/mockito) from 4.6.1 to 4.7.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.6.1...v4.7.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 07:59:40 +02:00
Dennis Guse 63d1c9ee5e GPS: set signal lost threshold to 30s. 2022-08-14 20:18:37 +02:00
547 changed files with 14526 additions and 10680 deletions
+384
View File
@@ -0,0 +1,384 @@
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 100
tab_width = 4
ij_continuation_indent_size = 8
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = false
ij_smart_tabs = false
ij_visual_guides = none
ij_wrap_on_typing = false
[*.java]
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = true
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = true
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = true
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_records = true
ij_java_align_multiline_resources = true
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_align_types_in_multi_catch = true
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = off
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = false
ij_java_binary_operation_wrap = off
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 1
ij_java_blank_lines_around_method = 1
ij_java_blank_lines_around_method_in_interface = 1
ij_java_blank_lines_before_class_end = 0
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 0
ij_java_block_brace_style = end_of_line
ij_java_block_comment_add_space = false
ij_java_block_comment_at_first_column = true
ij_java_builder_methods = none
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = off
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = false
ij_java_class_annotation_wrap = split_into_lines
ij_java_class_brace_style = end_of_line
ij_java_class_count_to_use_import_on_demand = 99
ij_java_class_names_in_javadoc = 1
ij_java_deconstruction_list_wrap = normal
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
ij_java_do_while_brace_force = never
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = true
ij_java_doc_align_exception_comments = true
ij_java_doc_align_param_comments = true
ij_java_doc_do_not_wrap_if_one_line = false
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = true
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = false
ij_java_enum_constants_wrap = off
ij_java_extends_keyword_wrap = off
ij_java_extends_list_wrap = off
ij_java_field_annotation_wrap = split_into_lines
ij_java_finally_on_new_line = false
ij_java_for_brace_force = never
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = off
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = never
ij_java_imports_layout = $android.**,$androidx.**,$com.**,$junit.**,$net.**,$org.**,$java.**,$javax.**,$*,|,android.**,|,androidx.**,|,com.**,|,junit.**,|,net.**,|,org.**,|,java.**,|,javax.**,|,*,|
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 2
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 2
ij_java_keep_blank_lines_in_declarations = 2
ij_java_keep_builder_methods_indents = false
ij_java_keep_control_statement_in_one_line = true
ij_java_keep_first_column_comment = true
ij_java_keep_indents_on_empty_lines = false
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = false
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = false
ij_java_keep_simple_lambdas_in_one_line = false
ij_java_keep_simple_methods_in_one_line = false
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_add_space_on_reformat = false
ij_java_line_comment_at_first_column = true
ij_java_method_annotation_wrap = split_into_lines
ij_java_method_brace_style = end_of_line
ij_java_method_call_chain_wrap = off
ij_java_method_parameters_new_line_after_left_paren = false
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = off
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = normal
ij_java_names_count_to_use_import_on_demand = 99
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
ij_java_new_line_after_lparen_in_record_header = false
ij_java_parameter_annotation_wrap = off
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_record_components_wrap = normal
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = true
ij_java_replace_sum_lambda_with_method_ref = true
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = off
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
ij_java_rparen_on_new_line_in_record_header = false
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = false
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_deconstruction_list = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = true
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = false
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_annotation_eq = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = false
ij_java_spaces_within_braces = false
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_deconstruction_list = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_record_header = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_subclass_name_suffix = Impl
ij_java_ternary_operation_signs_on_next_line = false
ij_java_ternary_operation_wrap = off
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = off
ij_java_throws_list_wrap = off
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = off
ij_java_visibility = public
ij_java_while_brace_force = never
ij_java_while_on_new_line = false
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
[*.properties]
ij_properties_align_group_field_declarations = false
ij_properties_keep_blank_lines = false
ij_properties_key_value_delimiter = equals
ij_properties_spaces_around_key_value_delimiter = false
[.editorconfig]
ij_editorconfig_align_group_field_declarations = false
ij_editorconfig_space_after_colon = false
ij_editorconfig_space_after_comma = true
ij_editorconfig_space_before_colon = false
ij_editorconfig_space_before_comma = false
ij_editorconfig_spaces_around_assignment_operators = true
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
ij_continuation_indent_size = 4
ij_xml_align_attributes = false
ij_xml_align_text = false
ij_xml_attribute_wrap = normal
ij_xml_block_comment_add_space = false
ij_xml_block_comment_at_first_column = true
ij_xml_keep_blank_lines = 2
ij_xml_keep_indents_on_empty_lines = false
ij_xml_keep_line_breaks = false
ij_xml_keep_line_breaks_in_text = true
ij_xml_keep_whitespaces = false
ij_xml_keep_whitespaces_around_cdata = preserve
ij_xml_keep_whitespaces_inside_cdata = false
ij_xml_line_comment_at_first_column = true
ij_xml_space_after_tag_name = false
ij_xml_space_around_equals_in_attribute = false
ij_xml_space_inside_empty_tag = true
ij_xml_text_wrap = normal
ij_xml_use_custom_settings = true
[{*.apinotes,*.yaml,*.yml}]
indent_size = 2
ij_yaml_align_values_properties = do_not_align
ij_yaml_autoinsert_sequence_marker = true
ij_yaml_block_mapping_on_new_line = false
ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_line_breaks = true
ij_yaml_sequence_on_new_line = false
ij_yaml_space_before_colon = false
ij_yaml_spaces_within_braces = true
ij_yaml_spaces_within_brackets = true
[{*.bash,*.sh,*.zsh}]
indent_size = 2
tab_width = 2
ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
ij_shell_minify_program = false
ij_shell_redirect_followed_by_space = false
ij_shell_switch_cases_indented = false
ij_shell_use_unix_line_separator = true
[{*.har,*.json}]
indent_size = 2
ij_json_array_wrapping = split_into_lines
ij_json_keep_blank_lines_in_code = 0
ij_json_keep_indents_on_empty_lines = false
ij_json_keep_line_breaks = true
ij_json_keep_trailing_comma = false
ij_json_object_wrapping = split_into_lines
ij_json_property_alignment = do_not_align
ij_json_space_after_colon = true
ij_json_space_after_comma = true
ij_json_space_before_colon = false
ij_json_space_before_comma = false
ij_json_spaces_within_braces = false
ij_json_spaces_within_brackets = false
ij_json_wrap_long_lines = false
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
ij_html_align_attributes = true
ij_html_align_text = false
ij_html_attribute_wrap = normal
ij_html_block_comment_add_space = false
ij_html_block_comment_at_first_column = true
ij_html_do_not_align_children_of_min_lines = 0
ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
ij_html_enforce_quotes = false
ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
ij_html_keep_blank_lines = 2
ij_html_keep_indents_on_empty_lines = false
ij_html_keep_line_breaks = true
ij_html_keep_line_breaks_in_text = true
ij_html_keep_whitespaces = false
ij_html_keep_whitespaces_inside = span,pre,textarea
ij_html_line_comment_at_first_column = true
ij_html_new_line_after_last_attribute = never
ij_html_new_line_before_first_attribute = never
ij_html_quote_style = double
ij_html_remove_new_line_before_tags = br
ij_html_space_after_tag_name = false
ij_html_space_around_equality_in_attribute = false
ij_html_space_inside_empty_tag = false
ij_html_text_wrap = normal
[{*.markdown,*.md}]
ij_markdown_force_one_space_after_blockquote_symbol = true
ij_markdown_force_one_space_after_header_symbol = true
ij_markdown_force_one_space_after_list_bullet = true
ij_markdown_force_one_space_between_words = true
ij_markdown_format_tables = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_keep_indents_on_empty_lines = false
ij_markdown_keep_line_breaks_inside_text_blocks = true
ij_markdown_max_lines_around_block_elements = 1
ij_markdown_max_lines_around_header = 1
ij_markdown_max_lines_between_paragraphs = 1
ij_markdown_min_lines_around_block_elements = 1
ij_markdown_min_lines_around_header = 1
ij_markdown_min_lines_between_paragraphs = 1
ij_markdown_wrap_text_if_long = true
ij_markdown_wrap_text_inside_blockquotes = true
+2 -2
View File
@@ -8,12 +8,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'
- name: Assemble APK
shell: bash
+2 -2
View File
@@ -11,11 +11,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
java-version: '17'
- run: ./gradlew lint
+5 -12
View File
@@ -8,27 +8,20 @@ jobs:
test:
timeout-minutes: 45
runs-on: macos-latest
strategy:
matrix:
api-level: [ 24, 30 ]
target: [ default ]
fail-fast: false
steps:
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
distribution: 'adopt'
java-version: '17'
- name: run tests
uses: reactivecircus/android-emulator-runner@v2.25.0
uses: reactivecircus/android-emulator-runner@v2.28.0
with:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: x86_64
profile: Nexus 6
api-level: 34
script: ./gradlew connectedCheck
- name: Archive
+1
View File
@@ -53,6 +53,7 @@ captures/
.idea/.name
.idea/caches/
.idea/compiler.xml
.idea/androidTestResultsUserPreferences.xml
.idea/copyright/profiles_settings.xml
.idea/dataSources.ids
.idea/datasources.xml
-9
View File
@@ -8,15 +8,6 @@
<package name="io.ktor" alias="false" withSubpackages="true" />
</value>
</option>
<option name="PACKAGES_IMPORT_LAYOUT">
<value>
<package name="" alias="false" withSubpackages="true" />
<package name="java" alias="false" withSubpackages="true" />
<package name="javax" alias="false" withSubpackages="true" />
<package name="kotlin" alias="false" withSubpackages="true" />
<package name="" alias="true" withSubpackages="true" />
</value>
</option>
</JetCodeStyleSettings>
<MarkdownNavigatorCodeStyleSettings>
<option name="RIGHT_MARGIN" value="72" />
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+10 -3
View File
@@ -1,18 +1,25 @@
# How to contribute?
## Testing
## Testing
Just use OpenTracks and tell us what can be improved by opening an issue [here](https://github.com/OpenTracksApp/OpenTracks/issues/new/choose)
Just use OpenTracks and tell us what can be improved by opening an
issue [here](https://github.com/OpenTracksApp/OpenTracks/issues/new/choose)
If we broke things (happens now and then), please tell us also.
## Translations
Translations are hosted on [hosted.weblate.org](https://hosted.weblate.org/engage/opentracks/).
## Coding new features
You have a cool idea for a feature that is missing in OpenTracks?
And you would like to help by implementing it?
If not, you can just take a look at the [issue tracker](https://github.com/OpenTracksApp/OpenTracks/issues).
If not, you can just take a look at
the [issue tracker](https://github.com/OpenTracksApp/OpenTracks/issues).
Advices:
* creating an issue beforehand might be a good idea
Sometimes it is helpful to discuss your idea and also your implementation approach first.
We may be able to give you some hints on how to tackle the problem.
+33 -24
View File
@@ -2,7 +2,7 @@
_OpenTracks_ is a sport tracking application that completely respects your privacy.
[![Awesome Humane Tech](https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true)](https://github.com/humanetech-community/awesome-humane-tech)
[![Awesome Humane Tech](https://codeberg.org/teaserbot-labs/delightful-humane-design/raw/branch/main/humane-tech-badge.svg)](https://delightful.club/delightful-humane-design/#health)
<table>
<tr>
@@ -40,8 +40,10 @@ _OpenTracks_ is a sport tracking application that completely respects your priva
</tr>
</table>
<a href="https://weblate.bubu1.eu/engage/OpenTracks/">
<img src="https://weblate.bubu1.eu/widgets/OpenTracks/-/opentracks/horizontal-auto.svg" alt="Translation status" />
Translations are hosted on <a href="https://hosted.weblate.org/engage/opentracks/">
hosted.weblate.org</a>.
<a href="https://hosted.weblate.org/engage/opentracks/">
<img src="https://hosted.weblate.org/widgets/opentracks/-/horizontal-auto.svg" alt="Translation status" />
</a>
## Screenshots
@@ -64,19 +66,19 @@ _OpenTracks_ is a sport tracking application that completely respects your priva
* __Voice announcements__
* __Photos and Markers:__ mark interesting locations while tracking
* __Export:__
* export tracks either as KMZ (incl. photos), KML, or GPX
* export automatically after each recording (e.g., to sync via [Nextcloud](https://nextcloud.com/))
* avoid duplication: each exported file contain a random unique identifier (i.e., `opentracks:trackid`)
* export tracks either as [KMZ 2.3](https://docs.opengeospatial.org/is/12-007r2/12-007r2.html) (incl. photos), [KML 2.3](https://docs.opengeospatial.org/is/12-007r2/12-007r2.html), or [GPX 1.1](https://www.topografix.com/GPX/1/1/)
* export automatically after each recording (e.g., to sync via [Nextcloud](https://nextcloud.com/))
* avoid duplication: each exported file contain a random unique identifier (i.e., `opentracks:trackid`)
* __Altitude:__
* gain/loss via barometric sensor (if present)
* shown in EGM2008 (above mean sea level); exported as WGS84
* gain/loss via barometric sensor (if present)
* shown in EGM2008 (above mean sea level); exported as WGS84
* __Bluetooth LE sensors:__
* heart rate
* cycling: speed and distance
* cycling: cadence
* cycling: power meter
* running: speed and cadence
* support for BLE sensor training only (i.e., without GPS) for indoor training
* heart rate
* cycling: speed and distance
* cycling: cadence
* cycling: power meter
* running: speed and cadence
* support for BLE sensor training only (i.e., without GPS) for indoor training
An overview of tested sensors: [README_TESTED_SENSORS.md](README_TESTED_SENSORS.md)
@@ -92,8 +94,9 @@ OpenTracks can be used with [Gadgetbridge](https://www.gadgetbridge.org/):
* __No in-app analytics__
* __No use of Google Play Services__
__Only required permission:__
__Only required permissions:__
* _ACCESS_FINE_LOCATION_: required to use the GPS.
* _ACCESS_BACKGROUND_LOCATION_: required to start recording with GPS while phone is in standby. (e.g. when triggered by Public API from an external device)
### Public API
@@ -111,19 +114,25 @@ The API can be invoked by sending an explicit Intent to start an activity.
* **Start a recording:** `de.dennisguse.opentracks.publicapi.StartRecording`
* **Stop a recording:** `de.dennisguse.opentracks.publicapi.StopRecording`
For testing via adb: `adb shell am start -n "package/class"`
For testing via adb: `adb shell am start -e someParameter someValue -n "package/class"`
`StartRecording` supports the following parameters:
* Set track data: `TRACK_NAME`, `TRACK_CATEGORY`, and `TRACK_DESCRIPTION`
* Send recorded data to another application via _Dashboard API_: `STATS_TARGET_PACKAGE`
and `STATS_TARGET_CLASS`
* Set track data: `TRACK_NAME`, `TRACK_DESCRIPTION`, `TRACK_CATEGORY`, and `TRACK_ICON` (non-localized identifier see [/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38](/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38)).
NOTE: if `TRACK_ICON` is not present, `TRACK_CATEGORY` will be used to determine the icon (localized).
* Send recorded data to another application via _Dashboard API_: `STATS_TARGET_PACKAGE` and `STATS_TARGET_CLASS`
The Public API is disabled by default to protect the user's privacy, but it can easily be enabled in
the settings.
The Public API is disabled by default to protect the user's privacy, but it can easily be enabled in the settings.
__IMPORTANT__: triggering `StartRecording` does not check if Android permissions (location or
Bluetooth) were granted. If they are not granted`
## File formats compatibility with open-source software
| | [GPX 1.1](https://www.topografix.com/GPX/1/1/) | [KML 2.3](https://docs.opengeospatial.org/is/12-007r2/12-007r2.html) | [KMZ 2.3](https://docs.opengeospatial.org/is/12-007r2/12-007r2.html) |
|-----------------------------------------------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------|
| [OpenLayers 7.1.0](https://openlayers.org/) | ? | [no](https://github.com/openlayers/openlayers/issues/14104) | [no](https://github.com/openlayers/openlayers/issues/14104) |
| [Golden Cheetah 3.5](https://www.goldencheetah.org/) | ? | [no](https://github.com/GoldenCheetah/GoldenCheetah/issues/4271) | [no](https://github.com/GoldenCheetah/GoldenCheetah/issues/4271) |
| [GpxPod](https://apps.nextcloud.com/apps/gpxpod) | ? | ? | ? |
| [OsmAnd](https://github.com/osmandapp/OsmAnd) | ? | [no](https://github.com/osmandapp/OsmAnd/issues/15271) | [no](https://github.com/osmandapp/OsmAnd/issues/15271) |
| [FitTrackee](https://github.com/SamR1/FitTrackee) | yes | n/a | n/a |
| [SportsTracker](https://github.com/ssaring/sportstracker) | yes, [single tracks only](https://github.com/ssaring/sportstracker/issues/260) | no | no |
## Dashboard API (incl. map)
@@ -144,7 +153,7 @@ The developer documentation is in [README_API.md](README_API.md).
## Project history
_OpenTracks_ is based upon Google _My Tracks app_ ([code](https://code.google.com/archive/p/mytracks/)).
Initially, _My Tracks_ was initially released by Google in 2010 as [open-source software](http://google-latlong.blogspot.fr/2010/05/code-for-my-tracks-is-now-yours.html).
_My Tracks_ was initially released by Google in 2010 as [open-source software](http://google-latlong.blogspot.fr/2010/05/code-for-my-tracks-is-now-yours.html).
In 2016, [Google decided to discontinue](https://support.google.com/maps/answer/6333516) _My Tracks_ and stopped distributing it via the Google Play store in April 2016.
Then [Plonk42](https://github.com/plonk42) conducted some maintenance work until 2016, so _My Tracks_ could still be used (based upon version _Google's MyTracks_ version 2.0.6).
Plonk42's version is available [here](https://github.com/Plonk42/mytracks).
+5 -3
View File
@@ -17,10 +17,10 @@ Application id: de.dennisguse.opentracks
It if it properly tagged F-Droid takes care of building the app and publishing.
Usually, it takes two days before the update is published (build, signed, and published).
The recent build activity can be found [here](https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=7&from=&hidebots=0&hideanons=1&hideliu=1&limit=500)
The recent build activity can be found [here](https://monitor.f-droid.org/builds/build)
## Google Play Store
Application id: de.dennisguse.opentracks.playstore
Application id: `de.dennisguse.opentracks.playstore`
Requirement: `gem install fastlane`
@@ -35,4 +35,6 @@ Supported languages: https://support.google.com/googleplay/android-developer/tab
## Translations (localization)
Translations of the OpenTracks are handled in Weblate: [https://weblate.bubu1.eu/projects/OpenTracks/](https://weblate.bubu1.eu/projects/OpenTracks/).
Translations of the OpenTracks are handled in
Weblate: [https://hosted.weblate.org/projects/opentracks/](https://hosted.weblate.org/projects/opentracks)
.
+36 -14
View File
@@ -2,7 +2,7 @@
## 0x180D: Heartrate Service
* Decathlon|Geonaute|Kalenji Dual HRM Belt
* Decathlon/Geonaute/Kalenji Dual HRM Belt
* moofit heart rate monitor
* Polar H7
* Polar H10
@@ -38,13 +38,13 @@ However, often only one value is provided.
We only support _Instantaneous Power_.
For cycling:
For cycling (incl. cadence):
* Assioma Duo Powermeter
* Elite drivo II
* QUARQ Red DZero Powermeter
* Tacx Satori Smart
* Wahoo Kickr v4.0
* Rotor 2INpower DM Road (only supports power measurement, cadence measurement is propietary @ firmware v1.061)
* Rotor 2INpower DM Road (only supports power measurement, cadence measurement is proprietary @ firmware v1.061)
For running:
* Stryd
@@ -59,16 +59,38 @@ We do not support type of movement (i.e., walking vs running).
## Tested Barometric Sensor Smartphones
There are smartphones that have a barometric sensor that OpenTracks uses to compute altitude gain and loss.
OpenTracks derives the altitude gain and altitude loss using the internal barometric sensor of a device (if present).
However, barometric sensor seem to be prone to a lot of noise.
This may either be a malfunctioning sensor, a case that prevents the device from measuring, or something else.
In our tests there are smartphones whose barometric sensor works well and others don't. Here is a list of the smartphones tested:
To check if the barometric sensor of a device is working with OpenTracks:
1. Record a track (ca. 1min) with the device stationary.
Expectation: 0m gain and 0m loss should.
2. Record a track (ca. 1min) while shaking the device.
Expectation: 0m gain and 0m loss should.
3. Record a track (ca. 1min) while moving the device up (less than 3m difference between highest and lowest point).
Expectation: 0m gain and 0m loss should.
4. Record a track walking up some stairs or taking an elevator.
Expectation: some gain and some loss is recorded that seems realistic.
|Brand|Model|Android Version|Tests|
|-----|-----|---------------|-----------|
|Google|Pixel|LineageOS 17.1|Ok|
|Google|Pixel 2 XL|LineageOS 17.1|Ok on the bike handlebars but it fails when I carry it in a pocket or backpack|
|Google|Pixel 3|Android 11|Failure|
|Google|Pixel 3a|Android 11|Ok|
|Google|Pixel 3a|Lineage 18.1|Ok|
|Google|Pixel 4a|Android 11|Ok|
|Sony|Xperia XZ1 Compact|LineageOS 16.1|Failure|
If any of these tests do **not** show expected values for gain/loss, OpenTracks will not show useful values.
Please note that OpenTracks:
* only records gain/loss if +/- 3m to the initial/previous of are measured to the previous
* solely uses the barometric sensor for gain/loss; GPS is not used for this.
In our tests there are smartphones whose barometric sensor works well and others don't.
Here is a list of the smartphones tested:
| Brand | Model | Android Version | Tests |
|---------|--------------------|-----------------|--------------------------------------------------------------------------------|
| Google | Pixel | LineageOS 17.1 | Ok |
| Google | Pixel 2 XL | LineageOS 17.1 | Ok on the bike handlebars but it fails when I carry it in a pocket or backpack |
| Google | Pixel 3 | Android 11 | Failure |
| Google | Pixel 3a | Android 11 | Ok |
| Google | Pixel 3a | Lineage 18.1 | Ok |
| Google | Pixel 4a | Android 11 | Ok |
| Google | Nexus 4 | LineageOS 18.1 | Ok |
| Samsung | S4 | Android 11 | Ok |
| Sony | Xperia XZ1 Compact | LineageOS 16.1 | Failure |
+31 -21
View File
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
classpath 'com.android.tools.build:gradle:8.2.0-beta06'
}
}
@@ -47,25 +47,30 @@ android {
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
compileSdk 33
compileSdk 34
buildFeatures {
viewBinding true
buildConfig true
}
androidResources {
generateLocaleConfig = true
}
defaultConfig {
applicationId "de.dennisguse.opentracks"
versionCode 4993
versionName "v4.0.6"
versionCode 5465
versionName "v4.9.2"
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
minSdk 21
targetSdk 33
minSdk 24
targetSdk 34
testInstrumentationRunner "de.dennisguse.opentracks.TestRunner"
testInstrumentationRunnerArguments clearPackageData: 'true'
@@ -81,6 +86,8 @@ android {
}
}
namespace 'de.dennisguse.opentracks'
buildTypes {
debug {
applicationIdSuffix ".debug"
@@ -104,11 +111,11 @@ android {
}
}
applicationVariants.all { variant ->
applicationVariants.configureEach { variant ->
variant.resValue "string", "applicationId", variant.applicationId
if (variant.buildType.name == 'nightly') {
variant.outputs.all {
variant.outputs.configureEach {
setVersionCodeOverride(getVersionCode())
setVersionNameOverride(getVersionName())
outputFileName = "${applicationId}_${variant.versionCode}.apk"
@@ -118,20 +125,23 @@ android {
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.6'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'androidx.preference:preference:1.2.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'com.google.android.material:material:1.10.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'androidx.mediarouter:mediarouter:1.4.0'
androidTestImplementation 'androidx.test:core:1.4.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'org.mockito:mockito-android:4.6.1'
androidTestImplementation 'androidx.test:core:1.5.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test:rules:1.5.0'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'org.mockito:mockito-android:5.6.0'
androidTestUtil 'androidx.test:orchestrator:1.4.1'
androidTestUtil 'androidx.test:orchestrator:1.4.2'
}
+483
View File
@@ -0,0 +1,483 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="22"
height="22"
viewBox="0 0 5.8208333 5.8208333"
version="1.1"
id="svg8"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="ic_activity.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2">
<inkscape:path-effect
effect="spiro"
id="path-effect3162"
is_visible="true"
lpeversion="1" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect3149"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.9999999,0,1 @ F,0,0,1,0,2.0000001,0,1"
unit="px"
method="auto"
mode="F"
radius="0"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.9999999,0,1 @ F,0,0,1,0,2.0000001,0,1" />
<inkscape:path-effect
hide_knots="false"
only_selected="false"
apply_with_radius="true"
apply_no_radius="true"
use_knot_distance="true"
flexible="false"
chamfer_steps="1"
radius="0"
mode="F"
method="auto"
unit="px"
satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.97014234,0,1 @ F,0,0,1,0,0,0,1"
lpeversion="1"
is_visible="true"
id="path-effect2514"
effect="fillet_chamfer"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.97014234,0,1 @ F,0,0,1,0,0,0,1" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect950"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,0.51887107,0,1 @ F,0,0,1,0,0.22687835,0,1 @ F,0,0,1,0,0,0,1 @ F,0,1,1,0,0.51887107,0,1 @ F,0,0,1,0,0.22687835,0,1 @ F,0,0,1,0,0,0,1"
unit="px"
method="auto"
mode="F"
radius="0"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false"
nodesatellites_param="F,0,0,1,0,0.51887107,0,1 @ F,0,0,1,0,0.22687835,0,1 @ F,0,0,1,0,0,0,1 @ F,0,1,1,0,0.51887107,0,1 @ F,0,0,1,0,0.22687835,0,1 @ F,0,0,1,0,0,0,1" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect946"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,0.34892149,0,1 @ F,0,0,1,0,0.18398697,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.34892149,0,1 @ F,0,0,1,0,0.18398697,0,1 @ F,0,1,1,0,0,0,1"
unit="px"
method="auto"
mode="F"
radius="0"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false"
nodesatellites_param="F,0,0,1,0,0.34892149,0,1 @ F,0,0,1,0,0.18398697,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.34892149,0,1 @ F,0,0,1,0,0.18398697,0,1 @ F,0,1,1,0,0,0,1" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect918"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,1,1,0,2.00309,0,1 @ F,0,0,1,0,2.00309,0,1"
unit="px"
method="auto"
mode="F"
radius="0"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,1,1,0,2.00309,0,1 @ F,0,0,1,0,2.00309,0,1" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect912"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,7.0000002,0,1 @ F,0,0,1,0,0,0,1"
unit="px"
method="auto"
mode="F"
radius="0"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,7.0000002,0,1 @ F,0,0,1,0,0,0,1" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect894"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,0.49832891,0,1 @ F,0,0,1,0,0.49832891,0,1 @ F,0,1,1,0,0.5316463,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.49999976,0,1 @ F,0,0,1,0,0.50000024,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.0000001,0,1 @ F,0,0,1,0,0.99999982,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.0295214,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.5316463,0,1"
unit="px"
method="auto"
mode="F"
radius="0"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false"
nodesatellites_param="F,0,0,1,0,0.49832891,0,1 @ F,0,0,1,0,0.49832891,0,1 @ F,0,1,1,0,0.5316463,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.49999976,0,1 @ F,0,0,1,0,0.50000024,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.0000001,0,1 @ F,0,0,1,0,0.99999982,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.0295214,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.5316463,0,1" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#232629"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="22.390336"
inkscape:cx="13.4433"
inkscape:cy="12.572388"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
units="px"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-midpoints="true"
inkscape:snap-object-midpoints="true"
inkscape:snap-center="true"
inkscape:snap-text-baseline="true"
showguides="false"
inkscape:guide-bbox="true"
inkscape:window-width="956"
inkscape:window-height="1036"
inkscape:window-x="960"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#232629">
<inkscape:grid
type="xygrid"
id="grid833"
empspacing="22"
dotted="true" />
<inkscape:grid
type="xygrid"
id="grid835"
empspacing="1"
spacingy="1.0583333"
spacingx="1.0583333"
originx="0.26458333"
originy="0.26458333" />
<sodipodi:guide
position="4.195,4.2333333"
orientation="0.96592583,0.25881905"
id="guide887"
inkscape:label=""
inkscape:locked="false"
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0.26458333,1.9843751"
orientation="0,-1"
id="guide900"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path924"
style="opacity:1;fill:#fdbc4b;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:531.552;stroke-opacity:1;paint-order:markers fill stroke"
d="m -1.3252903,1.5032615 -0.4100651,0.6834418 a 0.12845631,0.12845631 60.481872 0 0 0.1101504,0.1945466 l 0.2495783,-10e-8 -0.1100188,0.5495576 a 0.08982544,0.08982544 21.142221 0 0 0.1651025,0.063848 L -0.91047797,2.3112131 A 0.12845634,0.12845634 60.481877 0 0 -1.0206284,2.1166665 H -1.2702067 L -1.1601879,1.567109 a 0.08982541,0.08982541 21.142225 0 0 -0.1651024,-0.063848 z"
sodipodi:nodetypes="ccccccc"
inkscape:original-d="m -1.0583333,1.0583332 -0.79375,1.3229167 0.4764566,-10e-8 L -1.5875,3.4395832 -0.79375003,2.1166665 H -1.2702067 Z"
inkscape:path-effect="#path-effect950" />
<g
id="g954"
transform="matrix(0.38576851,0,0,0.38576851,152.56385,-12.494408)">
<rect
y="-7.9375"
x="-357.1875"
height="79.375"
width="68.791664"
id="rect919"
style="fill:#cacaca;fill-opacity:1;stroke-width:14.6855;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
y="-5.2916665"
x="-354.54169"
height="10.583333"
width="10.583333"
id="rect851"
style="fill:#e74c3c;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#ed1515;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect853"
width="10.583333"
height="10.583333"
x="-343.95834"
y="-5.2916665" />
<rect
y="-5.2916665"
x="-333.375"
height="10.583333"
width="10.583333"
id="rect855"
style="fill:#f47750;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#fdbc4b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect857"
width="10.583333"
height="10.583333"
x="-322.79169"
y="-5.2916665" />
<rect
y="-5.2916665"
x="-312.20834"
height="10.583333"
width="10.583333"
id="rect859"
style="fill:#c9ce3b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#da4453;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect861"
width="10.583333"
height="10.583333"
x="-354.54169"
y="5.291667" />
<rect
y="5.291667"
x="-343.95834"
height="10.583333"
width="10.583333"
id="rect863"
style="fill:#c0392b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#d35400;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect865"
width="10.583333"
height="10.583333"
x="-333.375"
y="5.291667" />
<rect
y="5.291667"
x="-322.79169"
height="10.583333"
width="10.583333"
id="rect867"
style="fill:#f67400;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#f39c1f;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect869"
width="10.583333"
height="10.583333"
x="-312.20834"
y="5.291667" />
<rect
style="fill:#1cdc9a;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect871"
width="10.583333"
height="10.583333"
x="-354.54169"
y="21.166666" />
<rect
y="21.166666"
x="-343.95834"
height="10.583333"
width="10.583333"
id="rect873"
style="fill:#2ecc71;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#1abc9c;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect875"
width="10.583333"
height="10.583333"
x="-333.375"
y="21.166666" />
<rect
y="21.166666"
x="-322.79169"
height="10.583333"
width="10.583333"
id="rect877"
style="fill:#3498db;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#3daee9;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect879"
width="10.583333"
height="10.583333"
x="-312.20834"
y="21.166666" />
<rect
y="31.75"
x="-354.54169"
height="10.583333"
width="10.583333"
id="rect881"
style="fill:#10d116;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#27ae60;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect883"
width="10.583333"
height="10.583333"
x="-343.95834"
y="31.75" />
<rect
y="31.75"
x="-333.375"
height="10.583333"
width="10.583333"
id="rect885"
style="fill:#16a085;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#2980b9;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect887"
width="10.583333"
height="10.583333"
x="-322.79169"
y="31.75" />
<rect
y="31.75"
x="-312.20834"
height="10.583333"
width="10.583333"
id="rect889"
style="fill:#1d99f3;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
y="21.166666"
x="-301.625"
height="10.583333"
width="10.583333"
id="rect891"
style="fill:#9b59b6;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#8e44ad;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect893"
width="10.583333"
height="10.583333"
x="-301.625"
y="31.75" />
<rect
y="47.625"
x="-354.54166"
height="10.583333"
width="10.583333"
id="rect895"
style="fill:#34495e;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#31363b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect897"
width="10.583333"
height="10.583333"
x="-343.95831"
y="47.625" />
<rect
y="47.625"
x="-333.37497"
height="10.583333"
width="10.583333"
id="rect899"
style="fill:#7f8c8d;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#bdc3c7;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect901"
width="10.583333"
height="10.583333"
x="-322.79166"
y="47.625" />
<rect
y="47.625"
x="-312.20831"
height="10.583333"
width="10.583333"
id="rect903"
style="fill:#fcfcfc;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#2c3e50;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect905"
width="10.583333"
height="10.583333"
x="-354.54166"
y="58.208336" />
<rect
y="58.208336"
x="-343.95831"
height="10.583333"
width="10.583333"
id="rect907"
style="fill:#232629;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#4d4d4d;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect909"
width="10.583333"
height="10.583333"
x="-333.37497"
y="58.208336" />
<rect
y="58.208336"
x="-322.79166"
height="10.583333"
width="10.583333"
id="rect911"
style="fill:#95a5a6;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
<rect
style="fill:#eff0f1;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
id="rect913"
width="10.583333"
height="10.583333"
x="-312.20831"
y="58.208336" />
</g>
<path
transform="scale(0.26458333)"
id="path887"
d="M 13.994141 4.5 A 0.49999949 0.49999949 0 0 0 13.552734 4.7773438 A 0.49999949 0.49999949 0 0 0 13.777344 5.4472656 L 14.908203 6.0136719 C 15.328243 6.2241517 15.636226 6.6066586 15.75 7.0625 L 17.390625 13.623047 C 15.381402 13.909129 13.837817 15.475476 13.601562 17.5 L 8.3984375 17.5 C 8.1378934 15.267332 6.3043435 13.50201 4.0039062 13.5 C 3.982495 13.499838 3.9608645 13.499856 3.9394531 13.5 L 2 13.5 A 0.49999949 0.49999949 0 0 0 1.5 14 A 0.49999949 0.49999949 0 0 0 2 14.5 L 3.9394531 14.5 A 0.50004949 0.50004949 0 0 0 3.9433594 14.5 C 3.9610145 14.499866 3.9784387 14.499866 3.9960938 14.5 A 0.50004949 0.50004949 0 0 0 4 14.5 C 5.9389193 14.5 7.5000003 16.061081 7.5 18 A 0.50004949 0.50004949 0 0 0 8 18.5 L 14 18.5 A 0.50004949 0.50004949 0 0 0 14.5 18 C 14.5 16.061081 16.061081 14.5 18 14.5 A 0.50004949 0.50004949 0 0 0 18.484375 13.878906 L 16.71875 6.8203125 C 16.534472 6.0819921 16.037756 5.460052 15.357422 5.1191406 A 0.50004949 0.50004949 0 0 0 15.355469 5.1191406 L 14.222656 4.5527344 A 0.49999949 0.49999949 0 0 0 13.994141 4.5 z "
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157481;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:531.552;stroke-opacity:1;paint-order:markers fill stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1;opacity:1" />
<path
id="path970"
d="M 4.7617188 4.1367188 C 4.4265639 4.1367188 4.1523438 4.4109389 4.1523438 4.7460938 C 4.1523438 5.0812486 4.4265639 5.3554687 4.7617188 5.3554688 C 5.0968736 5.3554687 5.3710937 5.0812486 5.3710938 4.7460938 C 5.3710937 4.4109389 5.0968736 4.1367188 4.7617188 4.1367188 z M 4.7617188 4.3378906 C 4.9879388 4.3378906 5.1679687 4.5198737 5.1679688 4.7460938 C 5.1679687 4.9723138 4.9879388 5.1542969 4.7617188 5.1542969 C 4.5354987 5.1542969 4.3535156 4.9723138 4.3535156 4.7460938 C 4.3535156 4.5198737 4.5354987 4.3378906 4.7617188 4.3378906 z "
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.201567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1;opacity:0.997" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.997;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.201567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
d="m 1.0221536,4.1367188 c -0.33515491,0 -0.60937501,0.2742201 -0.60937501,0.609375 0,0.3351548 0.2742201,0.6093749 0.60937501,0.609375 0.3351548,-10e-8 0.6093749,-0.2742202 0.609375,-0.609375 -1e-7,-0.3351549 -0.2742202,-0.609375 -0.609375,-0.609375 z m 0,0.2011718 c 0.22622,0 0.4062499,0.1819831 0.40625,0.4082032 -1e-7,0.2262201 -0.18003,0.4082031 -0.40625,0.4082031 -0.22622011,0 -0.40820321,-0.181983 -0.40820321,-0.4082031 0,-0.2262201 0.1819831,-0.4082032 0.40820321,-0.4082032 z"
id="path970-7" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1 @@
Un amic rastrejador esportiu que respecta la vostra privadesa.
@@ -1,11 +1,22 @@
OpenTracks je aplikace pro sledování sportu, která zcela respektuje vaše soukromí.
Sportovní tracker, který respektuje vaše soukromí.
Funkce:
* Sledování sportu: sledujte své sportovní a outdoorové aktivity.
* Fotografie a značky: označte zajímavá místa při sledování
* Zvyšování a snižování nadmořské výšky: pomocí barometrického senzoru.
* Nadmořská výška se zobrazuje v EGM2008 (nad průměrnou hladinou moře); exportuje se jako WGS84
* Hlasová hlášení
Sportovní a venkovní aktivity přinášejí štěstí, dovednosti a sebevědomí.
Važte si svého zdraví tím, že budete sledovat svůj trénink.
Zaznamenává, jak běžíte nebo jdete, a poskytuje vám cyklistický počítač s větší obrazovkou pro jízdu na kole.
Označte si zajímavá místa na své cestě pomocí obrázků.
Uchovávejte zaznamenané statistiky ve velkých podrobnostech pro analýzu.
Sdílejte pouze data, která chcete, aby měli ostatní.
* Hlasová oznámení.
* Podporuje snímače Bluetooth LE: srdeční tep, rychlost a vzdálenost (cyklistika), kadence (cyklistika) a měřič výkonu (cyklistika).
* Export dat: export tras ve formátu KMZ (včetně fotografií), KML nebo GPX.
* Bez přístupu k internetu: Internet se nepoužívá
* Zvyšování a snižování nadmořské výšky: prostřednictvím barometrického snímače.
* Nadmořská výška zobrazená v EGM2008 (nad průměrnou hladinou moře); exportována jako WGS84.
* Export dat ve formě stop ve formátu KMZ (včetně fotografií), KML nebo GPX.
* Není nutný přístup k internetu ani další oprávnění.
* Tmavé a světlé téma, respektující nastavení systému.
* Žádné reklamy.
Svobodný software / Open Source
což znamená, že zdrojový kód můžete používat, studovat, měnit a sdílet.
Licence Apache 2.0
@@ -1 +1 @@
Sportovní tracker, který zcela respektuje vaše soukromí.
Sportovní tracker, který respektuje vaše soukromí.
@@ -7,5 +7,5 @@ Changes:
Bugfix:
- Speech announcements use MAY_DUCK (again)
- ChartView shows markers (again)
- Fixed landscape layout of TrackListActivity
- Fixed landscape recordingLayout of TrackListActivity
- Request legacy file API behavior (necessary for Android 10)
@@ -0,0 +1,11 @@
v4.0.7: OpenTracks
Changes:
- GPS signal lost timeout: 30s
- Android13: request permission to show notifications
- Faster deletion of tracks (vacuum database only if needed)
Bugfix:
- PublicAPI stop command resulted in crash (introduced in v4.0.6)
- Permissions: request all permissions during on startup
@@ -0,0 +1,11 @@
v4.0.8: OpenTracks
Changes:
- Altitude always shown in m/ft
- Show track timezone if different than device timezone
- PublicAPI: support setting the track icon explicitly
Developer:
- Introduced DistanceFormatter
- Upgrade to AGP 7.3/desugar for Duration.class
- Android12+: do splashscreen via Androidx
@@ -0,0 +1,8 @@
v4.1.0: OpenTracks
Changes:
- Export KML/KMZ version 2.3 only (was 2.2)
- For crank-based powermeters: fetch cadence
Bugfix:
- Workaround for crash on "import all"
@@ -0,0 +1,7 @@
v4.1.1: OpenTracks
Changes:
- Add introduction screen (show once)
Bugfix:
- Do not crash if no GPS device is present
@@ -0,0 +1,11 @@
v4.1.2: OpenTracks
Changes:
- Voice announcements only use on decimal for distance
Bugfix:
- Crash when stopping (race condition)
Developer:
- Github actions: disabled instrumentation testing (too slow)
- Tests are done with only fake GPS data
@@ -0,0 +1,8 @@
v4.2.0: OpenTracks
Changes:
- Show heartrate zone information
Developer:
- Migrated to hosted.weblate.org
- Recording UI uses Views directly
@@ -0,0 +1,8 @@
v4.2.1: OpenTracks
Changes:
- Speed sensor: acceptable wheel diameter is 100mm-4000mm
Bugfix:
- Reconnect to a sensor if connection is lost
@@ -0,0 +1,9 @@
v4.2.2: OpenTracks
Bugfix:
- Track icon wrongly shown in dialog
- Textcolor for heartrate zone 1 was ignoring theme
- Not all activityTypes were shown in dropdownlist
- Crash due to color not found
@@ -0,0 +1,5 @@
v4.3.0: OpenTracks
Changes:
- Allow backups (incl. encrypted to the Google)
- Android 13: allow app-specific language settings
@@ -0,0 +1,8 @@
v4.3.1: OpenTracks
Changes:
- Setting to skip voice announcements on device speaker
Bugfix:
- GPS disabled warning was falsely shown
@@ -0,0 +1,9 @@
v4.3.2: OpenTracks
Bugfix:
- KML header was misformed (#1522)
Developer:
- Use Java 17 (multi-line text, switch)
- API33: locale config is generated
@@ -0,0 +1,5 @@
v4.3.3: OpenTracks
Bugfixes:
- Hidden fields were shown (introduced in v4.2.0)
- Speed was shown instead of pace (introduced in v4.2.0)
@@ -0,0 +1,4 @@
v4.3.4: OpenTracks
Bugfix:
- Android 13: regional locales could not be selected (introduced in v4.3.0)
@@ -0,0 +1,6 @@
v4.3.5: OpenTracks
Bugfix:
- Sensor parsing had a overflow one off bug (#1559)
- Insert marker: don't crash if no camera app is installed (#1561)
@@ -0,0 +1,4 @@
v4.4.0: OpenTracks
Changes:
- Export all tracks as one file
@@ -0,0 +1,14 @@
v4.5.0: OpenTracks
Changes:
- Material3
- App shortcut for aggregated statistics
- New Unit: miles with meters
Bugfix:
- GPS disabled warnings shown repeatedly (#1429)
Developer:
- Use Java Records
- Target API34
- Refactor sensor handling
@@ -0,0 +1,12 @@
v4.6.0: OpenTracks
Changes:
- Voice announcements use ICU plural format (en, es, pt, zh, dr, de) due to fractional quanitites #1584
- Requires Android 7.0 / SDK24+ due to ICU plurals
- On Android 14+: use Android's AltitudeConverter instead of internal EGM2008
Bugfix:
- Android 13 couldn't select images from gallery
Developer:
- Split ActivityType and ActivityIcon
@@ -0,0 +1,5 @@
v4.6.1: OpenTracks
Bugfix:
- Re-added aggregated statistics per selected tracks
@@ -0,0 +1,8 @@
v4.6.2: OpenTracks
Bugfix:
- Crash on voice annoucement for imperial+meter
- Crash on settings for imperial+meter
- Fixed clipping of charts (Material3 upgrade)
- Bluetooth settings handle missing permission
- Aggregated stats didn't show imperial units for avg speed
@@ -0,0 +1,11 @@
v4.7.0: OpenTracks
Changes:
- Statistics: distance, total time, and moving time are included between automatic segments (created due to distance too previous location too long)
- Recorded tracks show sensor statistics again
Bugfix:
- GPX exporter: for automatic segments their might be no location
- CSV exporter: distance didn't use decimal grouping
@@ -0,0 +1,8 @@
v4.7.1: OpenTracks
Bugfixes:
- Android 14: crash on recording start (missing permissions)
- Android 14: crash on track deletion (ForegroundService without reason)
Developer:
- AggregatedStats is now a RecyclerView
@@ -0,0 +1,11 @@
v4.8.0: OpenTracks
Changes:
- Permission: ACCESS_BACKGROUND_LOCATION is required due to API
- Preparation for time-based idle detection
- Drop distinguishing the source (GPS vs BLE sensors) for stored data
Developer:
- removed race condition workarounds (TrackRecordingService and GpsStatusManager)
- TrackRecordingServiceConnection handles service shutdown
@@ -0,0 +1,5 @@
v4.8.1: OpenTracks
Bugfix:
- Location permission was not granted due to ACCESS_LOCATION_BACKGROUND (removed)
@@ -0,0 +1,5 @@
v4.8.2: OpenTracks
Changes:
- After recording export: show error message if unsuccessful
@@ -0,0 +1,8 @@
v4.8.3: OpenTracks
Bugfix:
- Android 14: prevent crash due to malformed UUID (example for filename template)
Developer:
- Marker list is now a RecyclerView
@@ -0,0 +1,7 @@
v4.8.4: OpenTracks
Changes:
- Show max power for recorded tracks
Developer:
- TrackList now uses RecyclerView
@@ -0,0 +1,23 @@
v4.9.0: OpenTracks
NOTE: BREAKING CHANGE
This release changes how OpenTracks determines moving and not moving.
Until now, the speed (GPS or sensor) was used by a applying a threshold (e.g., less than 0.3 m/s).
However, this may be very noise.
From now on, a timeout duration is used (i.e., no significant change of position in the last X seconds).
This duration is user configurable.
The events of becoming idle are stored in the database incl. a timestamp, so statistics can be re-computed.
A downgrade from this version is not implemented.
Please backup all before upgrading.
Changes:
- Idle detection uses "no movement" duration rather than speed too low
- Added scooter activity
Bugfix:
- While recording, TrackList showed all tracks as recording
Developer:
- Re-enabled Github action executing tests
@@ -0,0 +1,4 @@
v4.9.1: OpenTracks
Bugfix:
- Crash when doing multi select in track list
@@ -0,0 +1,9 @@
v4.9.2: OpenTracks
Changes:
- Option to use Android 12's Dynamic Color (Material Design)
- Android 14's Predictive Back for some activities
Bugfix:
- Settings for total distance voice announcement was accidentially removed
@@ -0,0 +1,16 @@
v3.18.6: OpenTracks
Athruithe:
- "Taispeáin ar léarscáil" - feidhmiúlacht trí KML in ionad KMZ
- Ní chuimsíonn fógra gutha ainm na haipe
- Agus é ag taifeadadh: déantar gnóthachan/caillteanas ingearchló a nuashonrú gach soicind
- Tuairiscí an tsiopa aistrithe
Maoláin:
- Aistriúcháin fógartha gutha seasta neamhbhailí
Forbróir:
- ceadanna Android12 (BLUETOOTH_SCAN)
- ceadanna Android12 (ACCESS_COARSE_LOCATION)
- Ag dearbhú do Trackpoints (tástáil)
- Aistriúcháin neamhúsáidte bainte
@@ -0,0 +1,8 @@
v3.19.1: OpenTracks
Athruithe:
- Aistriúcháin nuashonraithe.
Ceartúchán Bug:
- Easpórtáil Gach Rianta fabht seasta.
- Lean bug Track socraithe.
@@ -0,0 +1,7 @@
v3.20.0: OpenTracks
Athruithe:
- Agus tú ag taifeadadh: tá UI staitisticí inchumraithe anois
Ceartúchán Bug:
- Níor tugadh aird ar athrú ainm/catagóir an traic le linn an taifeadta (a tugadh isteach i v3.19.0)
@@ -0,0 +1,6 @@
v3.20.1: OpenTracks
Athruithe:
- Is féidir fógraí a úsáid anois de réir achair agus ama
- Bíp fógraí mura bhfuil aon bhogearraí Téacs-go-hurlabhra suiteáilte
- Baineadh minicíocht oiriúnaitheach suíomh GPS
@@ -0,0 +1,11 @@
v3.22.0: OpenTracks
Athruithe:
- Ní stórálfar láithreacha ach amháin má thaistilítear > an t-eatramh faid a thaifeadtar
(feidhmiúlacht fágtha bainte den bhrath díomhaoin/neamhdhíomhaoin)
- Is féidir Chomhéadain a chumrú chun clog a thaispeáint
- Is féidir luas díomhaoin a chumrú anois
Ceartúchán Bug:
- Eatraimh: tuairteála nuair a stóráiltear gnóthachan ach ní caillteanas
- Agus tú ag taifeadadh: seachain tuairteáil agus fógraí gutha á ndíchumasú
@@ -0,0 +1,10 @@
v3.23.0: OpenTracks
Athruithe:
- Cuireadh próifílí Chomhéadain leis
- Staitisticí comhiomlánaithe le haghaidh rianta roghnaithe
- TrackPoints díomhaoin/neamhdhomhaoin athfhorfheidhmithe de réir mar a stop an t-am bogtha ag obair (tugtha isteach in v3.22.0)
Ceartúcháin fhabht:
- Braiteoirí BLE: sonraí soiléire maidir le dínascadh
- Ní mór an t-easpórtáil uathoibríoch a cheadú go fóill
@@ -0,0 +1,11 @@
v3.25.0: OpenTracks
Athruithe:
- Tá GPS roghnach anois lena n-áirítear. Rabhadh GPS díchumasaithe
- PublicAPI: is féidir le feidhmchláir eile sonraí taifeadta a fháil anois má thosaíonn siad ar thaifeadadh (curtha i bhfeidhm do Gadgetbridge)
- Gníomhaíochtaí nua: snámh, snámh oscailte, agus workout
- Baineadh feidhmiúlacht pic sciar
Ceartúchán Bug:
- Chomhéadain: luas / airde nuair a léim idir 0.0 agus an luach iarbhír
- Is féidir rianta le emojis a onnmhairiú
@@ -0,0 +1,5 @@
v3.25.1: OpenTracks
Ceartúchán Bug:
- Easpórtáil uathoibríoch: tá súil againn teipeanna ciúine a chosc
- Easpórtáil uathoibríoch: cosc tuairteála
@@ -0,0 +1,8 @@
v3.26.0: OpenTracks
Athruithe:
- Is féidir fógraí gutha a chumrú
- Fógraí gutha faoi ráta croí
Ceartúchán Bug:
- Tuairteála mar gheall ar riocht cine
@@ -0,0 +1,4 @@
v3.26.1: OpenTracks
Ceartúchán Bug:
- Níor sháraigh barra gníomhaíochta comhthéacsúla an barra uirlisí i dtéama na hoíche.
@@ -0,0 +1,13 @@
v4.0.1: OpenTracks
Athruithe:
- Is féidir fógraí gutha a chumrú anois
- Folaíonn mód lánscáileáin anois barra nascleanúna Android freisin
- Ba cheart go mbeadh nasc le braiteoirí BLE níos tapúla anois
- Ceadaigh socruithe a athshocrú agus tú ag taifeadadh
- Ceadaigh socruithe iompórtála/easpórtála a athrú agus tú ag taifeadadh
- KML/KMZ: ná húsáid deilbhíní le luchtú ó Google
Ceartúchán Bug:
- Oibríonn TrackStoppedActivity ar scáileáin níos lú anois
- Iarratas ar cheadanna ar an rianliosta
@@ -0,0 +1,10 @@
v4. 0. 2: OpenTracks
Athruithe:
- - Agus muirmhíle
- Is féidir socruithe a athshocrú agus taifeadadh á dhéanamh
Ceartúcháin:
- Fógra gutha slánú
- Cairt: bhí ingearchló smoothed weirdly
- Ní raibh easpórtáil ag seiceáil an bhfuil an comhad ann
@@ -0,0 +1,8 @@
v4.0. 3: OpenTracks
Athruithe:
Sonraíocht: Max. luas mar a thuairiscigh braiteoir (GPS nó BLE)
Ceartúcháin:
- Cosc ar thuairteáil mura bhfuil Painéal Na Nionstraimí OSM suiteáilte
- Easpórtáil rian GPX: ná heaspórtáil deighleáin an amhráin folamh
@@ -0,0 +1,13 @@
v4. 0. 4: OpenTracks
Athruithe:
- Stóráil sonraí braiteoir BLE fiú gan achar (gach 10s)
- PUBLIC API: ceadaíonn leagan ainm, catagóir, agus cur síos
Ceartúcháin:
- Tuairteála nuair a ghlacadh pictiúr agus rothlach an fón
-
Forbróir:
Sprioc-SDK 33
- Baraiméadar úsáideann eatramh de 5s
@@ -0,0 +1,7 @@
v4. 0. 5: OpenTracks
Athruithe:
- - PlayStore release faigh lógó eile
Ceartúcháin:
- Taispeánann liosta eatramh " - " mura bhfuil gnóthachan/caillteanas i láthair
@@ -0,0 +1,5 @@
v4.0. 6: OpenTracks
Ceartúcháin:
- Egm2008 fhritháireamh mícheart ríomh le haghaidh domhanfhad diúltach
- - Crashed API poiblí má Bhí Rianta Oscailte sa chúlra (26 AIBREÁN+)
@@ -0,0 +1,10 @@
v4. 0. 7: OpenTracks
Athruithe:
- Gps comhartha caillte teorainn ama: 30s
- - Android 13: cead a iarraidh chun fógraí a thaispeáint
- Scrios rianta níos tapúla (bunachar sonraí folúis amháin más gá)
Ceartúcháin:
- PublicAPI stop ordú mar thoradh ar tuairteála (a tugadh isteach i v4. 0. 6)
- Ceadanna: ceadanna a iarraidh le linn tosaithe
@@ -0,0 +1,11 @@
v4. 0. 8: OpenTracks
Athruithe:
- Airde a thaispeántar i gcónaí i m/ft
- Taispeáin crios ama an riain mura bhfuil sé éagsúil le crios ama na feiste
- PublicAPI: tacaíocht deilbhín an riain a shocrú go sainráite
Forbróir:
- A Tugadh Isteach Cianfhormáideoir
- Uasghrádú GO AGP 7.3/desugar Ar Feadh Ré.aicme
- Android12+: déan splancscáileán trí Androidx
@@ -0,0 +1,8 @@
v4. 1. 0: OpenTracks
Athruithe:
- Easpórtáil leagan KML/KMZ 2. 3 amháin (2. 2)
- Le haghaidh crank-bhunaithe powermeters: faigh cadence
Ceartúcháin:
- Workaround do tuairteála ar "iompórtáil gach rud"
@@ -0,0 +1,7 @@
v4.1. 1: OpenTracks
Athruithe:
- Cuir scáileán réamhrá leis (taispeáin uair amháin)
Ceartúcháin:
- Ná tuairteála mura bhfuil gléas GPS i láthair
@@ -0,0 +1,22 @@
Cairde rianaithe spóirt a bhfuil meas aige ar do phríobháideachas.
Tugann gníomhaíochtaí spóirt agus lasmuigh sonas, scil agus muinín.
Cuir luach ar do shláinte trí súil a choinneáil ar d'oiliúint.
Taifeadann tú de réir mar a théann tú ag rith nó ag siúl, agus tugann sé ríomhaire rothar duit le scáileán níos mó le haghaidh rothaíochta.
Marcáil láithreacha suimiúla ar do bhealach le pictiúir.
Coinnigh staitisticí taifeadta go mion go leor le haghaidh anailíse.
Comhroinn ach na sonraí a theastaíonn uait a bheith ag daoine eile.
* Fógraí gutha.
* Tacaíonn braiteoirí Bluetooth LE: ráta croí, luas agus fad (rothaíocht), deireadh (rothaíocht), agus méadar cumhachta (rothaíocht).
* Gnóthachan agus caillteanas airde: trí bhraiteoir barometric.
* Airde léirithe in EGM2008 (os cionn meánleibhéal na farraige); onnmhairiú mar WGS84.
* Easpórtáil sonraí mar rianta mar KMZ (grianghraif san áireamh), KML, nó GPX.
* Gan rochtain ar an Idirlíon nó ceadanna breise.
* Téama dorcha agus éadrom, ag urramú socruithe an chórais.
* Gan fógraí.
Bogearraí Libre / Bogearraí Saor in Aisce / Foinse Oscailte
rud a chiallaíonn gur féidir leat an cód foinse a úsáid, a staidéar, a athrú agus a roinnt.
Ceadúnaithe Apache 2.0
@@ -0,0 +1 @@
Cairde rianaithe spóirt a bhfuil meas aige ar do phríobháideachas.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,4 @@
v4.3.4: OpenTracks
Bugfix:
- Android 13: regional locales could not be selected (introduced in v4.3.0)
@@ -0,0 +1,5 @@
v4.3.5: OpenTracks
Bugfix:
- Sensor parsing had a overflow one off bug (#1559)
- Insert marker: don't crash if no camera app is installed (#1561)
@@ -0,0 +1,4 @@
v4.4.0: OpenTracks
Cambios:
- Exportar todas as rutas nun único ficheiro
@@ -0,0 +1,14 @@
v4.5.0: OpenTracks
Cambios:
- Material3
- Atallo na app para estatísticas acumuladas
- Nova unidade: millas con metros
Arranxo:
- avisos repetidos do GPS desactivado (#1429)
Desenvolvemento:
- Utilizar Java Records
- Obxectivo API34
- Refactorización da xestión dos sensores
@@ -0,0 +1,12 @@
v4.6.0: OpenTracks
Cambios:
- Anuncios por voz usando o formato de plurais ICU (en, es, pt, zh, dr, de) debido ás cantidades en fraccións #1584
- Require Android 7.0 / SDK24+ debido aos plurais ICU
- En Android 14+: usar o conversor AltitudeConverter de Android no lugar do interno EGM2008
Arrranxo:
- Non se podía escoller unha imaxe da galería en Android 13
Desenvolvemento:
- Separamos ActivityType e ActivityIcon
@@ -0,0 +1,4 @@
v4.6.1: OpenTracks
Arranxo:
- Volvemos a engadir estatísticas conxuntas para as rutas seleccionadas
@@ -0,0 +1,8 @@
v4.6.2: OpenTracks
Arranxos:
- Fallo da app cos anuncios por voz para imperial+métrico
- Fallo nos axustes para imperial+métrico
- Arranxo da inconsistencia nas gráficas (actualización Material3)
- Perda do permiso Bluetooth
- Estatítiscas acumuladas da velocidade media non mostraban unidades imperiais
@@ -0,0 +1,9 @@
v4.7.0 OpenTracks
Cambios:
- Estatísticas: inclúese distancia, tempo total e tempo en movemento entre os segmentos automáticos (creado debido a que a distancia á localización anterior era demasiado grande)
- As rutas gravadas volven a mostrar estatísticas do sensor outra vez
Arranxos:
- GPX exporter: para os segmentos automáticos que poderían non ter localización
- CSV exporter: a distancia non usaba o agrupamento con decimal
@@ -0,0 +1,8 @@
v4.7.1: OpenTracks
Arranxos:
- Android 14: fallo ao inicio da gravación (por falta de permisos)
- Android 14: fallo ao eliminar unha ruta (sen razóns para ForegroundService)
Desenvolvemento:
- agora AggregatedStats é unha RecyclerView
@@ -0,0 +1,10 @@
v4.8.0: OpenTracks
Cambios:
- Permiso: ACCESS_BACKGROUND_LOCATION é requerido debido á API
- Preparación para a detección da pausa en función do tempoPreparation for time-based idle detection
- Retirada da distinción por orixe nos datos gardados (sensores GPS vs. BLE)
Desenvolvemento:
- retirados algúns atallos no código que entraban en conflito (TrackRecordingService e GpsStatusManager)
- TrackRecordingServiceConnection xestiona o apagado do servizo
@@ -0,0 +1,4 @@
v4.8.1: OpenTracks
Arranxo:
- Non se concedía o permiso de localización debido a ACCESS_LOCATION_BACKGROUND (eliminado)
@@ -0,0 +1,4 @@
v4.8.2: OpenTracks
Cambios:
- Apos exportar as gravacións: mostra mensaxe de aviso se falla
@@ -0,0 +1,8 @@
v4.8.3: OpenTracks
Arranxos:
- Android 14: evitar o peche da app debido a un UUID mal formado (ex. no modelo do nome de ficheiro)
Desenvolvemento:
- A lista Marker agora usa RecyclerView
@@ -0,0 +1,7 @@
v4.8.4: OpenTracks
Cambios:
- Mostra a potencia máxima nas rutas gravadas
Desenvolvemento:
- agora TrackList usa RecyclerView
@@ -0,0 +1,10 @@
(versionName): OpenTracks
Cambios:
-
Arranxos:
-
Programadora:
-
@@ -0,0 +1,22 @@
Gravador de actividades deportivas que respecta a túa privacidade.
As actividades deportivas e ao aire libre proporcionanche felicidade, destreza e confianza.
Dalle valor á túa saúde facendo un seguimento dos teus adestramentos.
Grava mentras saes a correr ou camiñar, e será un ciclocomputador cunha pantalla máis grande e clara.
Marca as localizacións interesantes na ruta podendo engadir unha imaxe.
Garda un rexistro das túas estatísticas con gran detalle e análise.
Comparte só os datos que outras persoas poden ver.
* Anuncios por voz.
* Soporte para sensores Bluetooth LE: de frecuencia cardíaca, velocidade e distancia (ciclismo), cadencia (ciclismo), e de potencia (ciclismo).
* Gañancia e perda de altitude: a través do sensor barométrico.
* Altitude mostrada en EGM2008 (sobre o nivel do mar); exportada como WGS84.
* Exporta os datos como rutas tanto como KMZ (inclúe fotos), KML, ou GPX.
* Non precisa conexión a internet ou permisos extra.
* Decorado escuro, claro, ou seguindo os axustes do sistema.
* Sen publicidade.
Software Libre / Free Software / Open Source
significa que podes usar, estudar, cambiar e compartir o código fonte.
Licenza Apache 2.0
@@ -0,0 +1 @@
Gravador de actividades que respecta a túa privacidade.
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,15 @@
v3.0.0: OpenTracks
Eerste release van OpenTracks (d.w.z., directe afleiding van MyTracks)
Veranderingen:
- Rebranded van MyTracks naar OpenTracks
- Bluetooth LE hartslagsensor toegevoegd
- Alle functies verwijderd die internettoegang vereisen
- Google Maps-integratie verwijderd
- Verwijderd gebruik van Google Play-services
- ANT + sensoren verwijderd
- Bluetooth klassieke sensoren verwijderd
- Protobuf verwijderd
- Verwijderde calorieschatting en activiteitsschatting
- MyTracks Service API verwijderd (d.w.z., geen integratie met andere apps)
@@ -0,0 +1,17 @@
v3.0.1: OpenTracks
Veranderingen:
- Deel markeringen
- Geherstructureerde instellingen
- Verwijderde actiebalk terugknop
- Exporteren: optie voor het verwijderen van foto-instellingen
- Exporteren: KML als formaat is nu selecteerbaar
Bugfixes :
- exportdirectory is nu / OpenTracks /
- landschapsmodus crasht niet
- vaste KML / KMZ-export
Ontwikkelaar:
- Test is uitvoerbaar (maar veel mislukken)
- Continue integratie met TravisCI mogelijk gemaakt (geen tests)
@@ -0,0 +1,14 @@
v3.1.0: OpenTracks
Veranderingen:
- Show track toegevoegd in kaart-apps (getest met OsmAnd en Maps.ME)
- Toegevoegd tijdens het volgen, trackstatistieken weergeven zonder het apparaat te ontgrendelen
- Verwijderde landschapsmodus voor weergave van trackdetails (was buggy)
- Geschiedenis van zoeksuggesties verwijderd
Bugfix :
- Vraag opslagvergunning aan voor import alles / export alles
Ontwikkelaar:
- Upgrade naar Gradle 5.6
- Minificeer niet de release builds
@@ -0,0 +1,16 @@
v3.2.0: OpenTracks
Veranderingen:
- Widget verwijderd
- Geïntroduceerde pictogrammen voor materiaalontwerp
- Snowboarden en skiën verwijderd (nieuwe pictogrammen nodig)
Bugfix :
- Vaste zoekfunctionaliteit
Ontwikkelaar:
- (Sommige) testgevallen opgelost
- Ongebruikte pakketfunctionaliteit verwijderd
- Grote schoonmaak en herformulering
- Gebruik geen uitzending voor app om communicatie te widgeten
- stats_content.xml bevat geen andere bestanden
@@ -0,0 +1,7 @@
v3.2.1: OpenTracks
Veranderingen:
- Instellingen staan nu op één pagina
Ontwikkelaar:
- Instellingen verplaatst naar Androidx-compatibel (gebruikt fragmenten)
@@ -0,0 +1,13 @@
v3.2.2: OpenTracks
Veranderingen:
- Geaggregeerde statistieken verwijderd
- Gegraapt naar materiaalontwerp
Bugfix :
- Vaste export van sensorgegevens
- Vaste invoer van onvolledige sensorgegevens
Ontwikkelaar:
- Vervangen actiebalk met werkbalk
- Gemigreerd naar Android Appcompat (incl. Materiaalontwerp)
@@ -0,0 +1,14 @@
v3.2.3: OpenTracks
Veranderingen:
- Delen: gebruik Android Sharesheet
- Delen: deel meerdere nummers als individuele bestanden
- Gebruik Android ShareSheet
- Hartslagsensor (Bluetooth LE): automatisch opnieuw verbinden
Bugfix :
- Hartslagsensor (Bluetooth LE): de verbinding goed verbreken
- Hartslag werd niet altijd getoond tijdens het opnemen
Ontwikkelaar:
- TravisCI-instrumentatietests ingeschakeld
@@ -0,0 +1,5 @@
v3.2.4: OpenTracks
Bugfix :
- Instellingenactiviteit crasht
Mogelijkheid verwijderd om de spraak- / splitsingsfrequentie te wijzigen in het contextmenu
@@ -0,0 +1,15 @@
v3.2.5: OpenTracks
Veranderingen:
- Verandering van activiteit uitschakelen
- Toestemming toevoegen voor Android 10: locatiegegevens vastleggen
Bugfix :
- Instellingen voor resetten repareren
Ontwikkelaar:
- Voorkeuren
- als Instellingen niet kunnen worden geladen, reset dan alle voorkeuren
- de toegang tot voorkeuren verplaatst naar PreferencesUtil
- verplaatst standaard van voorkeuren van code naar xml
- gebruik SummaryProvider
@@ -0,0 +1,8 @@
v3.2.6: OpenTracks
Veranderingen:
- Hartslagmeter: scan op beschikbare apparaten
- Snelkoppeling naar Bluetooth-instellingen verwijderen
Ontwikkelaar:
- Voorkeuren: verplaatst standaard van voorkeuren van code naar xml
@@ -0,0 +1,10 @@
v3.2.7: OpenTracks
Veranderingen:
- Kennisgeving toont GPS-nauwkeurigheid
- Toon heads-upmelding als de GPS-nauwkeurigheid boven de drempel daalt
- Toon altijd een grafiek op tijd en op afstand
- Hulp toegevoegd (in instellingen)
Bugfix :
- TrackDetailActivity: uitgeschakelde niet-werkende landschapsmodus (tijdelijk)
@@ -0,0 +1,10 @@
v3.2.8: OpenTracks
Veranderingen:
- Grafiek: zoom via gebaren
Bugfixes :
- Exporteren via KMZ heeft de beeldbestandsnamen niet correct geëxporteerd
- Het delen van meerdere nummers bevatte geen KMZ-bestanden
- De gebruikersinterface van MarkerDetailActivity werd niet getoond
- Instellingen crashten als de voorkeur voor hartslag niet werd geïnitialiseerd
@@ -0,0 +1,10 @@
v3.2.9: OpenTracks
Veranderingen:
- Optie om het scherm aan te houden tijdens het opnemen
- Markeringen: verwijderde gesplitste markeringen volledig
- Stemaankondiging werkt nu zonder READ_PHONE_STATE-toestemming
Bugfixes :
- Statistieken: hartslag werd niet getoond
- Statistieken: de tijd werd kort teruggezet naar 0s

Some files were not shown because too many files have changed in this diff Show More