Compare commits

...

102 Commits

Author SHA1 Message Date
Dennis Guse bfbe868487 Release: v3.18.6 2021-07-08 22:50:34 +02:00
vanous 1c29f23c1d Translated using Weblate (Czech)
Currently translated at 100.0% (459 of 459 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/cs/
2021-07-08 22:42:07 +02:00
Dennis Guse f081a57348 Voice announcements: remove OpenTracks prefix.
Part of #867.
2021-07-08 22:42:03 +02:00
Dennis Guse a5cdf21322 Translations: move plural to individual locales (TTS).
Part of #867.
2021-07-08 19:44:38 +02:00
Dennis Guse 6d0f1ba773 Cleanup using AndroidStudio's analyze function. 2021-07-08 07:40:10 +02:00
Dennis Guse eb541f29f1 Translations: remove unused plural tracks.
Part of #867.
2021-07-08 07:32:35 +02:00
Dennis Guse 1e905f4f31 Translations: move file plural to individual locales (TTS).
Part of #867.
2021-07-06 17:37:52 +02:00
Dennis Guse 63b7aecdb7 Translations: move file plural to individual locales (TTS).
Part of #867.
2021-07-06 07:37:01 +02:00
A Rabbit 797f7b74d5 Translation: update Chinese translation 2021-07-06 06:38:40 +02:00
Dennis Guse f2d276c246 TrackRecordingService: on recording end, we have a race condition while shutting down. 2021-07-05 19:41:25 +02:00
Vinicius 02b273c102 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/pt_BR/
2021-07-05 18:47:44 +02:00
Vinicius 42490114e5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (524 of 524 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/pt_BR/
2021-07-05 18:47:44 +02:00
FTno 3a1e2b358b Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (524 of 524 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/nb_NO/
2021-07-05 18:47:43 +02:00
Dennis Guse c68a52b5fb UI: show altitude with one decimal digit.
Part of #850.
2021-07-05 18:47:33 +02:00
Dennis Guse 40cc2e73c9 Translations: move file plural to individual locales.
Part of #867.
2021-07-05 18:39:41 +02:00
dependabot[bot] c1b59e8c18 Bump material from 1.3.0 to 1.4.0
Bumps [material](https://github.com/material-components/material-components-android) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.3.0...1.4.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>
2021-07-05 12:07:47 +02:00
Dennis Guse aa411c2c76 Cleanup: remove unused translations. 2021-07-05 12:02:55 +02:00
Dennis Guse 77f03dcc28 Translation: use Android's cancel/ok.
Fix #868.
2021-07-04 21:41:05 +02:00
Dennis Guse 54fa2903ed Translation: use Android's cancel/ok.
Fix #868.
2021-07-04 21:34:44 +02:00
Dennis Guse 3840f57317 Cleanup. 2021-07-04 19:48:44 +02:00
Dennis Guse 87e0980695 Bugfix: prevent NPE on endRecording (race condition). 2021-07-04 16:53:10 +02:00
Dennis Guse af8d9c08ab IntervalStatistics: format gain/loss like on StatisticsRecordingFragment. 2021-07-04 16:53:10 +02:00
Dennis Guse c9231a7640 Add copy constructor to SensorDataSet to avoid undesired changes. 2021-07-04 16:53:10 +02:00
Dennis Guse acb2044a43 TrackStatisticsUpdater: simplify/ test initialization.
Fixes #863.
2021-07-04 16:53:10 +02:00
Dennis Guse c07d6124f9 TrackRecordingService: simplify altitude and remoteSensor handling. 2021-07-04 16:53:10 +02:00
Dennis Guse 8991d7bf0d Temporary TrackStatistics should also contain gain/loss from barometric sensor. 2021-07-04 16:53:10 +02:00
Dennis Guse c289fd174d Cleanup. 2021-07-04 16:53:10 +02:00
Dennis Guse 5899235b2b Tests: create TrackPoint instead of Location. 2021-07-04 16:53:10 +02:00
Dennis Guse 3cb04a1ca0 TrackPointAssert: always check location. 2021-07-04 16:53:10 +02:00
Dennis Guse 9fb5cf33ca TrackPointAssert: GPX speed is only exported with one decimal. 2021-07-04 16:53:10 +02:00
Dennis Guse a20cc17215 TrackPointAssert: removed helper methods. 2021-07-04 16:53:10 +02:00
Dennis Guse 0edb72aaed Tests: created TrackPointAssert to unify verification (incl. speed). 2021-07-04 16:53:10 +02:00
Dennis Guse 1f83b71336 Tests: created TrackPointAssert to unify verification. 2021-07-04 16:53:10 +02:00
Dennis Guse 4c8e87614f Altitude gain/loss: start with null instead of 0f. 2021-07-04 16:53:10 +02:00
Dennis Guse 6bb85227ac Disable test as it fails.
See #817.
2021-07-04 16:53:10 +02:00
Dennis Guse 5045b9a222 TrackPoint: only take data from location if present.
This functionality is used by KML/KMZ imports.
2021-07-04 16:53:10 +02:00
Dennis Guse 5c72855ec5 Cleanup: lint warnings - remove unused/ malformatted translation. 2021-07-02 22:21:59 +02:00
Dennis Guse 90f0d438d2 Cleanup: lint warnings. 2021-07-02 22:16:35 +02:00
mondstern eb9d483d3e Translated using Weblate (Basque)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/eu/
2021-07-02 21:05:59 +02:00
mondstern 6f7a3e7069 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/vi/
2021-07-02 21:05:58 +02:00
Markus Benning 690914e176 Translated using Weblate (German)
Currently translated at 99.6% (523 of 525 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/de/
2021-07-02 21:05:58 +02:00
dependabot[bot] 4856f5d213 Bump runner from 1.3.0 to 1.4.0
Bumps runner from 1.3.0 to 1.4.0.

---
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>
2021-07-02 06:36:09 +02:00
mondstern 221f711f1d Translated using Weblate (Swedish)
Currently translated at 98.5% (68 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/sv/
2021-07-01 19:50:52 +02:00
mondstern 7485b5555e Translated using Weblate (Esperanto)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/eo/
2021-07-01 19:50:52 +02:00
mondstern a6717be586 Translated using Weblate (Slovenian)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/sl/
2021-07-01 19:50:52 +02:00
mondstern 690034d667 Translated using Weblate (Slovak)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/sk/
2021-07-01 19:50:52 +02:00
mondstern 924be9b707 Translated using Weblate (Italian)
Currently translated at 98.5% (68 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/it/
2021-07-01 19:50:52 +02:00
mondstern de7e6ccfb2 Translated using Weblate (Finnish)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/fi/
2021-07-01 19:50:52 +02:00
mondstern aefb13dda7 Translated using Weblate (Czech)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/cs/
2021-07-01 19:50:52 +02:00
mondstern bbe3eda989 Translated using Weblate (Hungarian)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/hu/
2021-07-01 19:50:52 +02:00
mondstern d2dc3140ec Translated using Weblate (Estonian)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/et/
2021-07-01 19:50:52 +02:00
mondstern f635697cc8 Translated using Weblate (Danish)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/da/
2021-07-01 19:50:52 +02:00
mondstern de351f329e Translated using Weblate (Bulgarian)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/bg/
2021-07-01 19:50:52 +02:00
mondstern 84c2c8e962 Translated using Weblate (Dutch)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/nl/
2021-07-01 19:50:52 +02:00
mondstern c9519d9bd3 Translated using Weblate (Indonesian)
Currently translated at 98.5% (68 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/id/
2021-07-01 19:50:52 +02:00
mondstern 191a6e836a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/zh_Hans/
2021-07-01 19:50:52 +02:00
mondstern 42f6dea112 Translated using Weblate (Russian)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/ru/
2021-07-01 19:50:52 +02:00
mondstern 8fb5356043 Translated using Weblate (Portuguese)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/pt/
2021-07-01 19:50:52 +02:00
mondstern 1f4251a68a Translated using Weblate (Polish)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/pl/
2021-07-01 19:50:52 +02:00
mondstern 6d7cedbaf9 Translated using Weblate (Arabic)
Currently translated at 98.5% (68 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/ar/
2021-07-01 19:50:52 +02:00
mondstern bc37f90c2e Translated using Weblate (French)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/fr/
2021-07-01 19:50:51 +02:00
mondstern c7ccdc0bb2 Translated using Weblate (Spanish)
Currently translated at 100.0% (69 of 69 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/es/
2021-07-01 19:50:51 +02:00
vsevjednom-cz ec98a67f44 Translated using Weblate (Czech)
Currently translated at 99.6% (522 of 524 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/cs/
2021-07-01 19:50:51 +02:00
Dennis Guse e65b8989d3 Show on map: offer KML instead of KMZ (translations + Activity name) 2021-07-01 19:50:38 +02:00
Dennis Guse 8656681e1d Android12: ACCESS_FINE_LOCATION now also requires to ask for ACCESS_COARSE_LOCATION.
Part of #803.
2021-07-01 19:35:41 +02:00
Dennis Guse afbd3aa997 Android12: upgrade Bluetooth permissions.
Part of #803.
2021-07-01 19:35:41 +02:00
dependabot[bot] f16b6d9fe7 Bump junit from 1.1.2 to 1.1.3
Bumps junit from 1.1.2 to 1.1.3.

---
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>
2021-07-01 19:04:42 +02:00
dependabot[bot] 8973ff77bf Bump gradle from 4.2.1 to 4.2.2
Bumps gradle from 4.2.1 to 4.2.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>
2021-07-01 19:03:20 +02:00
dependabot[bot] 2c9e8c7465 Bump core from 1.3.0 to 1.4.0
Bumps core from 1.3.0 to 1.4.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>
2021-07-01 19:03:01 +02:00
dependabot[bot] b319ce805d Bump espresso-core from 3.3.0 to 3.4.0
Bumps espresso-core from 3.3.0 to 3.4.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>
2021-07-01 19:02:51 +02:00
dependabot[bot] 2c1bad8c2c Bump rules from 1.3.0 to 1.4.0
Bumps rules from 1.3.0 to 1.4.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>
2021-07-01 19:02:43 +02:00
Dennis Guse ed10868716 Show on map: offer KML instead of KMZ. 2021-06-28 23:03:59 +02:00
Dennis Guse 6749f484e8 Export: removed KML/KMZ format variants
* KML/KMZ with track only (contained only coordinates)
* KML/KMZ with track details (did not contain markers and sensor data)
2021-06-28 23:03:59 +02:00
Román Martínez 32891fbf94 Workaround for no barometric sensor: intervals shows dashes (-) for gain and loss. Fixes #791. 2021-06-28 17:55:36 +02:00
dependabot[bot] 1d7c71ec8d Bump reactivecircus/android-emulator-runner from 2.18.0 to 2.19.0
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) from 2.18.0 to 2.19.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.18.0...v2.19.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>
2021-06-28 17:05:12 +02:00
Román Martínez d106993f2d Race condition fixed: deleting a recording track with post-execution export on. Fixes #847. 2021-06-27 19:18:11 +02:00
Dennis Guse 7ebd532edb Cleanup using AndroidStudio's code analyzer. 2021-06-24 18:47:49 +02:00
Dennis Guse 823dc1c12b Release: v3.18.5 2021-06-24 18:44:36 +02:00
Dennis Guse 26490f5a66 Launcher icon (API <26): does not have a background circle.
Rendering a multilayer image is not consistent (size).

Fixes #814.
2021-06-24 18:29:50 +02:00
Dennis Guse d299dbdf06 Also send speed to UI. 2021-06-24 12:02:22 +02:00
Dennis Guse b5555e302f Bugfix: TrackRecordingService now computes EGM2008 for UI (i.e., StatisticsRecordingFragment).
Fixes #828.
2021-06-24 12:02:22 +02:00
Dennis Guse 3030b4dfd9 Bugfix: TrackRecordingService needs to send data from lastTrackPoint in it's 1s updates.
This also removes UI updates if a GPS measurement is received as 1s update should be sufficient.

Fixes #828.
2021-06-24 12:02:22 +02:00
dependabot[bot] a5431b1cf5 Bump reactivecircus/android-emulator-runner from 2.17.0 to 2.18.0
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) from 2.17.0 to 2.18.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.17.0...v2.18.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>
2021-06-23 07:35:59 +02:00
serpico 9314221647 Translated using Weblate (Indonesian)
Currently translated at 79.3% (415 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/id/
2021-06-22 17:19:35 +02:00
Dennis Guse 9bb9d5c283 Voice announcement: make rate configurable.
Fixes #777.
2021-06-22 17:19:31 +02:00
Patrick Georgi 1095a1442f Fix typo in German translation
It's Geschwindigkeit, not Geshwindigkeit.
2021-06-22 17:00:22 +02:00
Dennis Guse d373fdaaeb Downgrade espresso-coret to 3.3.0; no need to use an alpha. 2021-06-20 17:43:05 +02:00
serpico 5278ba4d35 Translated using Weblate (French)
Currently translated at 98.5% (67 of 68 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/app-store-metadata-files/fr/
2021-06-17 23:36:18 +02:00
FTno 9b71b7f88c Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (523 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/nb_NO/
2021-06-17 23:36:18 +02:00
serpico bc96c2c05b Translated using Weblate (French)
Currently translated at 99.8% (522 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr/
2021-06-17 23:36:18 +02:00
Dennis Guse e655762c72 EspressoCategoryUnitTest needs to set metricUnits. 2021-06-17 23:26:05 +02:00
Dennis Guse 71c385a1a9 Android12: add new Bluetooth connect permission.
Fixes #821.
2021-06-17 23:18:04 +02:00
Dennis Guse b947a727e7 Bugfix: while recording UI values were doubled.
Issue: copy constructor of  TrackStatisticsUpdater was not copying completely and the same reference used.
2021-06-17 23:08:06 +02:00
Román Martínez 470f23afa8 Bugfix: pace or speed header text is not showing in intervals.
Bugfix: viewModel checking onPause.
2021-06-17 14:36:30 +02:00
Dennis Guse 0a1f9dfe41 Cleanup. 2021-06-15 22:55:42 +02:00
Weblate 6fcd19bf2e Merge branch 'origin/main' into Weblate. 2021-06-15 22:43:54 +02:00
serpico 32d9705a4c Translated using Weblate (French)
Currently translated at 99.6% (521 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr/
2021-06-15 18:08:46 +02:00
Xosé M 2ac66c08f2 Translated using Weblate (Galician)
Currently translated at 100.0% (523 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/gl/
2021-06-15 18:08:46 +02:00
serpico 3b776407fa Translated using Weblate (French)
Currently translated at 99.6% (521 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/fr/
2021-06-15 17:08:24 +02:00
Xosé M 399f90a8f0 Translated using Weblate (Galician)
Currently translated at 100.0% (523 of 523 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/gl/
2021-06-15 17:08:24 +02:00
Román Martínez b2c2047ca2 Dennis Review. 2021-06-15 17:08:16 +02:00
Román Martínez 838671e2ce IntervalsFragment doesn't use TrackDataHub anymore. This improve intervals performance. Fixes #808. 2021-06-15 17:08:16 +02:00
214 changed files with 3597 additions and 5703 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
uses: actions/checkout@v2.3.4
- name: run tests
uses: reactivecircus/android-emulator-runner@v2.17.0
uses: reactivecircus/android-emulator-runner@v2.19.0
with:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
+9 -9
View File
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.1'
classpath 'com.android.tools.build:gradle:4.2.2'
}
}
@@ -55,8 +55,8 @@ android {
defaultConfig {
applicationId "de.dennisguse.opentracks"
versionCode 4151
versionName "v3.18.4"
versionCode 4253
versionName "v3.18.6"
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
@@ -90,18 +90,18 @@ android {
}
dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0-alpha06'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'com.google.android.material:material:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
androidTestImplementation 'androidx.test:core:1.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation 'androidx.test:runner:1.3.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:3.10.0'
}
@@ -0,0 +1,12 @@
v3. 18. 5: OpenTracks
التغييرات:
- سرعة الإعلان الصوتي شكلي
- API <26: رمز المشغل يحذف الخلفية
بوجفيكسيس:
- تسجيل واجهة المستخدم: إظهار القيم الصحيحة
- تسجيل واجهة المستخدم: عرض (مرة أخرى) الارتفاع في EGM2008
المطور:
- أذونات Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1 @@
تعقب الرياضة التي تحترم تماما خصوصيتك.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Промени:
- Конфигуриране на скоростта на гласовите съобщения
- API <26: Иконата за стартиране пропуска фона
Поправки на грешки:
- Потребителски интерфейс за запис: показва правилните стойности
- Потребителски интерфейс за запис: показва (отново) надморската височина в EGM2008
Разработчик:
- Разрешения за Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks е приложение за проследяване на спортни събития, което напълно зачита неприкосновеността на личния ви живот.
Характеристики:
* Спортно проследяване: проследявайте своите спортни дейности и дейности на открито
* Снимки и маркери: отбелязвайте интересни места, докато проследявате
* Увеличаване и намаляване на надморската височина: чрез барометричен сензор
* Надморска височина, показана в EGM2008 (над средното морско равнище); експортирана като WGS84
* Гласови съобщения
* Поддържа Bluetooth LE сензори: сърдечен ритъм, скорост и разстояние (колоездене), каданс (колоездене) и електромер (колоездене)
* Експортиране на данни: експортирайте трасетата като KMZ (включително снимки), KML или GPX
* Без достъп до интернет: Не се използва интернет
@@ -0,0 +1 @@
Спортно проследяване, което напълно зачита поверителността на личните ви данни.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Změny:
- Nastavitelná rychlost hlasového hlášení
- API <26: Ikona spouštěče vynechává pozadí
Opravy chyb:
- Uživatelské rozhraní nahrávání: zobrazuje správné hodnoty
- Uživatelské rozhraní nahrávání: zobrazuje (znovu) nadmořskou výšku v EGM2008
Vývojáři: Změny v nastaveních: - Zlepšena funkce pro nahrávání a nahrávání letů v letadle:
- Oprávnění Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks je aplikace pro sledování sportu, která zcela 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í
* 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á
@@ -0,0 +1 @@
Sportovní tracker, který zcela respektuje vaše soukromí.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Ændringer:
- Ændringer: Stemmemeddelelseshastighed kan konfigureres
- API <26: Ikonet i startopsætningen udelader baggrund
Fejlrettelser:
- Optagelse UI: Vis korrekte værdier
- Optagelse UI: viser (igen) højde i EGM2008
Udvikler:
- Android12-tilladelser (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks er et program til sporing af sport, der fuldt ud respekterer dit privatliv.
Funktioner:
* Sport tracking: Spor dine sports- og udendørsaktiviteter
* Billeder og markører: Markér interessante steder under sporing
* Højdeforøgelse og -tab: via barometrisk sensor
* Højde vist i EGM2008 (over middelhavets overflade); eksporteret som WGS84
* Stemmemeddelelser
* Understøtter Bluetooth LE-sensorer: puls, hastighed og distance (cykling), kadence (cykling) og effektmåler (cykling)
* Eksport af data: Eksportér spor enten som KMZ (inkl. fotos), KML eller GPX
* Ingen internetadgang: Internet bruges ikke
@@ -0,0 +1 @@
En sportstracker, der respekterer dit privatliv fuldt ud.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Changes:
- Voice announcement speed configurable
- API <26: Launcher icon omits background
Bugfixes:
- Recording UI: show correct values
- Recording UI: show (again) altitude in EGM2008
Developer:
- Android12 permissions (BLUETOOTH_CONNECT)
@@ -0,0 +1,16 @@
v3.18.6: OpenTracks
Changes:
- "Show on map"-functionality via KML instead of KMZ
- Voice announcement do not include app name
- While recording: elevation gain/loss is updated every second
- Store descriptions translated
Bufixes:
- Fixed invalid voice announcement translations
Developer:
- Android12 permissions (BLUETOOTH_SCAN)
- Android12 permissions (ACCESS_COARSE_LOCATION)
- Asserting for TrackPoints (testing)
- Removed unused translations
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Ŝanĝoj:
- Voĉo anonco rapido configurable
- API <26: Launcher ikono forgesas fono
Bugfixes:
- Registranta#? UI: montri ĝentilan valoroj
- Registranta#? UI: montri (denove) alteco en EGM2008
Ellaboranto:
- Android12 permesoj (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks estas sporto spuranta aplikon kiu tute respektas vian privatecon.
Karakterizaĵoj:
* Sporto spurado: spuri via sporto kaj subĉielaj aktivecoj
* Fotoj kaj signoj: mark interesaj lokoj dum spurado
* Altitudo akiro kaj perdo: tra barometric sentilo
* Altitudo montrita en EGM2008 (supre signifas marnivelo); eksportita kiel WGS84
* # Vo? o anoncoj
* Elportas Bluetooth LE sentiloj: koro imposto, rapido kaj distanco (biciklado), kadenco (biciklado), kaj potenco metro (biciklado)
* Eksportado datumoj: eksporti vojetoj aŭ kiel KMZ (incl. fotoj), KML, aŭ GPX
* Neniu aliro al Interreto: Internet ne estas uzita
@@ -0,0 +1 @@
Sporto spuristo ke tute respektas vian privatecon.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Cambios:
- Velocidad de los anuncios de voz configurable
- API <26: El icono del lanzador omite el fondo
Corrección de errores:
- Recording UI: mostrar valores correctos
- UI de grabación: mostrar (de nuevo) la altitud en EGM2008
Desarrollador:
- Permisos Android12 (BLUETOOTH_CONNECT)
@@ -1 +1 @@
OpenTracks es un tracker deportivo que respeta tu privacidad.
OpenTracks es un tracker deportivo que respeta tu privacidad.
+1 -1
View File
@@ -1 +1 @@
OpenTracks
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Muudatused:
- Häälteavituse kiirus konfigureeritav
- API <26: Käivitaja ikoon jätab tausta välja.
Vigade parandused:
- Salvestamise UI: näitab õigeid väärtusi
- Recording UI: näitab (uuesti) kõrgust EGM2008-s.
Arendaja:
- Android12 õigused (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks on spordi jälgimise rakendus, mis austab täielikult teie privaatsust.
Omadused:
* Spordi jälgimine: jälgige oma spordi- ja vabaõhutegevust.
* Fotod ja markerid: märkige jälgimise ajal huvipakkuvad kohad.
* Kõrguse suurenemine ja vähenemine: baromeetrilise anduri abil
* Kõrgus näitab EGM2008 (üle keskmise merepinna); eksporditakse WGS84 kujul.
* Häälteated
* Toetab Bluetooth LE andureid: südame löögisagedus, kiirus ja distants (jalgrattasõit), takistus (jalgrattasõit) ja jõumõõtja (jalgrattasõit).
* Andmete eksport: eksportida rajad kas KMZ (sh fotod), KML või GPX kujul.
* Interneti-ühendus puudub: Internetti ei kasutata
@@ -0,0 +1 @@
Spordijälgija, mis austab täielikult teie privaatsust.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Aldaketak:
- Ahots iragarkia abiadura konfiguragarria
- API <26: Launcher ikonoa alde batera uzten ditu aurrekariak
Bugfixes:
- Grabaketa UI: erakutsi zuzena balioak
- Grabaketa UI: erakutsi (berriro) altitude EGM2008
Sustatzailearen:
- Android12 baimenak (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks kirol bat da, jarraipenerako aplikazio hori guztiz zure pribatutasuna errespetatzen.
Ezaugarri:
* Kirol jarraipena: track zure kirol eta kanpoko ekintzak
* Argazkiak eta markatzaileak: mark interesgarria municipios bitartean jarraipena
* Altitudea irabazia eta galera: via barometric-sentsore
* Altitudea erakutsi EGM2008 (goian esan nahi itsasoaren maila); gisa esportatuko WGS84
* Ahots deialdiak
* Onartzen Bluetooth LE sentsoreak: bihotz-tasa, abiadura eta distantzia (txirrindularitza), kadentzia (txirrindularitza), eta potentzia metro (txirrindularitza)
* Datuak esportatu: export ibilbideak bai KMZ (incl. argazkiak), KML, edo GPX
* Ez da Interneterako sarbidea: Internet ez da erabiltzen
@@ -0,0 +1 @@
Kirol bat tracker hori erabat zure pribatutasuna errespetatzen.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Muutokset:
- Ääni-ilmoituksen nopeus konfiguroitavissa
- API <26: Käynnistimen kuvake jättää taustan pois.
Virheenkorjaukset:
- Tallennuksen käyttöliittymä: näyttää oikeat arvot
- Tallennuksen käyttöliittymä: näytä (uudelleen) korkeus EGM2008:ssa.
Kehittäjä:
- Android12-oikeudet (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks on urheiluseurantasovellus, joka kunnioittaa täysin yksityisyyttäsi.
Ominaisuudet:
* Urheilun seuranta: seuraa urheilua ja ulkoilua.
* Kuvat ja merkit: merkitse mielenkiintoiset paikat seurannan aikana.
* Korkeuden nousu ja lasku: barometrisen anturin avulla.
* Korkeus näytetään EGM2008:na (keskimääräisen merenpinnan yläpuolella); viedään WGS84-muodossa.
* Ääni-ilmoitukset
* Tukee Bluetooth LE -antureita: syke, nopeus ja etäisyys (pyöräily), askeltiheys (pyöräily) ja tehomittari (pyöräily).
* Tietojen vienti: vie radat joko KMZ- (sis. valokuvat), KML- tai GPX-muodossa.
* Ei Internet-yhteyttä: Internetiä ei käytetä
@@ -0,0 +1 @@
Urheilun seurantalaite, joka kunnioittaa täysin yksityisyyttäsi.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5 : OpenTracks
Changements :
- Vitesse d'annonce vocale configurable
- API <26 : l'icône du lanceur n'a pas d'arrière-plan
Corrections de bugs :
- Interface utilisateur d'enregistrement : afficher les valeurs correctes
- Interface utilisateur d'enregistrement : afficher (à nouveau) l'altitude dans EGM2008
Développeur :
- Autorisations Android12 (BLUETOOTH_CONNECT)
@@ -4,6 +4,8 @@ Fonctionnalités :
* Suivi d'activité : enregistre vos activités sportives et de plein air
* Photos et repères : ajout de photos et de repères pendant l'enregistrement de l'activité
* Rythme cardiaque : support des capteurs Bluetooth LE
* Export : export des traces au format KML ou GPX
* Dénivelé positif et négatif: via capteur de pression barométrique
* Synthèse vocale
* Prise en charge des capteurs Bluetooth LE : rythme cardiaque, vitesse et distance (vélo), cadence de pédalage (vélo), et capteur de puissance (vélo)
* Export : export des traces au format KMZ (photos incluses), KML ou GPX
* Pas d'accès internet requis : Internet n'est pas nécessaire pour le fonctionnement de l'application
@@ -1 +1 @@
OpenTracks - Suivi d'activités sportives respectueux de votre vie privée.
OpenTracks - Suivi d'activités sportives respectueux de votre vie privée.
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Változások:
- Hangbemondás sebessége konfigurálható
- API <26: Az indító ikon kihagyja a hátteret.
Hibajavítások:
- Felvételi felhasználói felület: helyes értékek megjelenítése
- Felvételi felhasználói felület: EGM2008-ban (újra) magasság megjelenítése
Fejlesztő:
- Android12 engedélyek (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
Az OpenTracks egy sportkövető alkalmazás, amely teljes mértékben tiszteletben tartja az Ön magánéletét.
Tulajdonságok:
* Sportkövetés: kövesse nyomon sport- és szabadtéri tevékenységeit.
* Fotók és jelölések: jelölje meg az érdekes helyeket a követés során
* Magassági nyereség és veszteség: barometrikus érzékelőn keresztül
* Magasság EGM2008-ban (átlagos tengerszint feletti magasság); exportálható WGS84 formátumban.
* Hangbejelentések
* Támogatja a Bluetooth LE érzékelőket: pulzusszám, sebesség és távolság (kerékpározás), lépésszám (kerékpározás) és teljesítménymérő (kerékpározás).
* Adatok exportálása: a pályák exportálása KMZ (fényképekkel együtt), KML vagy GPX formátumban.
* Nincs internet-hozzáférés: Az internetet nem használja
@@ -0,0 +1 @@
Egy sportkövető, amely teljes mértékben tiszteletben tartja a magánéletét.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3. 18. 5: OpenTracks
Perubahan:
- Voice mengumumkan kecepatan dapat diaturname
- API <26: ikon peluncur omits latar belakang
Bugfixesunit-format:
- Recording UI: Tampilkan nilai yang benar
- Recording UI: Tampilkan (lagi) ketinggian di EGM2008
Pengembang:
- Android12 permissions (BLUETOOTH_CONNECT)
@@ -0,0 +1 @@
Sebuah pelacak olahraga yang benar-benar menghormati privasi Anda.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Modifiche:
- Velocità degli annunci vocali configurabile
- API <26: L'icona del lanciatore omette lo sfondo
Bugfix:
- UI di registrazione: mostra i valori corretti
- Registrazione UI: mostra (di nuovo) l'altitudine in EGM2008
Sviluppatore:
- Permessi Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1 @@
Un tracker sportivo che rispetta completamente la tua privacy.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Veranderingen:
- Spraak aankondiging snelheid configureerbaar
- API <26: Launcher-pictogram laat achtergrond weg
Bugfixes:
- Opname UI: toon juiste waarden
- Opname UI: toon (opnieuw) hoogte in EGM2008
Ontwikkelaar:
- Android12-toestemmingen (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks is een sport tracking applicatie die uw privacy volledig respecteert.
Kenmerken:
* Sport tracking: volg uw sport en outdoor activiteiten
* Foto's en markeringen: markeer interessante locaties tijdens het volgen
* Hoogte winst en verlies: via barometrische sensor
* Hoogte weergegeven in EGM2008 (boven gemiddeld zeeniveau); geëxporteerd als WGS84
* Spraakaankondigingen
* Ondersteunt Bluetooth LE-sensoren: hartslag, snelheid en afstand (fietsen), cadans (fietsen), en vermogensmeter (fietsen)
* Exporteer gegevens: exporteer tracks als KMZ (incl. foto's), KML, of GPX
* Geen toegang tot internet: Internet wordt niet gebruikt
@@ -0,0 +1 @@
Een sport tracker die uw privacy volledig respecteert.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Zmiany:
- Konfigurowalna prędkość komunikatów głosowych
- API <26: Ikona programu uruchamiającego pomija tło
Poprawki błędów:
- UI nagrywania: pokazuj poprawne wartości
- Interfejs użytkownika nagrywania: pokazuj (ponownie) wysokość w EGM2008
Deweloper:
- Uprawnienia Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks jest aplikacją do śledzenia sportu, która całkowicie szanuje Twoją prywatność.
Cechy:
* Śledzenie sportu: śledź swoją aktywność sportową i outdoorową.
* Zdjęcia i markery: zaznacz interesujące lokalizacje podczas śledzenia.
* Przyrost i utrata wysokości: poprzez czujnik barometryczny
* Wysokość pokazana w EGM2008 (powyżej średniego poziomu morza); wyeksportowana jako WGS84
* Komunikaty głosowe
* Obsługa czujników Bluetooth LE: tętno, prędkość i dystans (kolarstwo), kadencja (kolarstwo) i miernik mocy (kolarstwo)
* Eksport danych: eksport tras jako KMZ (w tym zdjęcia), KML lub GPX
* Brak dostępu do Internetu: Internet nie jest używany
@@ -0,0 +1 @@
Sport tracker, który całkowicie szanuje Twoją prywatność.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Alterações:
- A velocidade do anúncio de voz agora é configurável
- API <26: o ícone do iniciador omite o fundo
Correções de bugs:
- UI de gravação: mostra os valores corretos
- UI de gravação: mostra (novamente) a altitude no EGM2008
Desenvolvedor:
- Permissões do Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks é um aplicativo de rastreamento de esportes que respeita totalmente a sua privacidade.
Características:
* Rastreamento de esportes: monitore seu esporte e atividades ao ar livre
* Fotos e marcadores: marque locais interessantes durante o rastreamento
* Ganho e perda de altitude: via sensor barométrico
* Altitude mostrada no EGM2008 (acima do nível médio do mar); exportado como WGS84
* Anúncios de voz
* Suporta sensores Bluetooth LE: frequência cardíaca, velocidade e distância (ciclismo), cadência (ciclismo) e medidor de potência (ciclismo)
* Exportar dados: exporte trilhas como KMZ (incluindo fotos), KML ou GPX
* Sem acesso à Internet: a Internet não é usada
@@ -0,0 +1 @@
Um rastreador esportivo que respeita totalmente a sua privacidade.
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Mudanças:
- Velocidade do anúncio por voz configurável
- API <26: ícone do lançador omite o fundo
Correcções de bugs:
- IU de gravação: mostrar valores correctos
- Gravação UI: mostrar (novamente) a altitude no EGM2008
Desenvolvedor:
- Android12 permissões (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks é um aplicativo de rastreamento de esportes que respeita totalmente a sua privacidade.
Características:
* Rastreamento de esportes: monitore seu esporte e atividades ao ar livre
* Fotos e marcadores: marque locais interessantes durante o rastreamento
* Ganho e perda de altitude: via sensor barométrico
* Altitude mostrada no EGM2008 (acima do nível médio do mar); exportado como WGS84
* Anúncios de voz
* Suporta sensores Bluetooth LE: frequência cardíaca, velocidade e distância (ciclismo), cadência (ciclismo) e medidor de potência (ciclismo)
* Exportar dados: exporte trilhas como KMZ (incluindo fotos), KML ou GPX
* Sem acesso à Internet: a Internet não é usada
@@ -0,0 +1 @@
Um rastreador desportivo que respeita completamente a sua privacidade.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Изменения:
- Настраивается скорость голосового оповещения
- API <26: Иконка запуска не отображает фон
Исправления:
- Пользовательский интерфейс записи: показывать правильные значения
- Пользовательский интерфейс записи: показывать (снова) высоту в EGM2008
Разработчик:
- Разрешения Android12 (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks - это приложение для спортивного слежения, которое полностью уважает вашу конфиденциальность.
Особенности:
* Спортивный трекинг: отслеживайте свои занятия спортом и активный отдых.
* Фотографии и маркеры: отмечайте интересные места во время отслеживания.
* Набор и потеря высоты: через барометрический датчик.
* Высота отображается в EGM2008 (над средним уровнем моря); экспортируется в WGS84.
* Голосовые уведомления
* Поддержка датчиков Bluetooth LE: пульс, скорость и расстояние (велоспорт), каденция (велоспорт) и измеритель мощности (велоспорт)
* Экспорт данных: экспорт треков в формате KMZ (включая фотографии), KML или GPX.
* Нет доступа к Интернету: Интернет не используется
@@ -0,0 +1 @@
Спортивный трекер, который полностью соблюдает вашу конфиденциальность.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Zmeny:
- Nastaviteľná rýchlosť hlasového hlásenia
- API <26: Ikona spúšťača vynecháva pozadie
Opravy chýb:
- Nahrávanie používateľského rozhrania: zobrazenie správnych hodnôt
- Používateľské rozhranie nahrávania: zobrazenie (opäť) nadmorskej výšky v EGM2008
Vývojár:
- Android12 oprávnenia (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks je aplikácia na sledovanie športu, ktorá úplne rešpektuje vaše súkromie.
Funkcie:
* Sledovanie športu: sledujte svoje športové a outdoorové aktivity.
* Fotografie a značky: označte zaujímavé miesta počas sledovania
* Zvyšovanie a znižovanie nadmorskej výšky: prostredníctvom barometrického snímača
* Nadmorská výška zobrazená v EGM2008 (nad strednou hladinou mora); exportovaná ako WGS84
* Hlasové hlásenia
* Podporuje snímače Bluetooth LE: srdcový tep, rýchlosť a vzdialenosť (cyklistika), kadencia (cyklistika) a merač výkonu (cyklistika)
* Export údajov: export tratí vo formáte KMZ (vrátane fotografií), KML alebo GPX
* Bez prístupu na internet: Internet sa nepoužíva
@@ -0,0 +1 @@
Športový tracker, ktorý úplne rešpektuje vaše súkromie.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Spremembe:
- Nastavljiva hitrost glasovnega napovedovanja
- API <26: ikona zaganjalnika izpusti ozadje
Popravki napak:
- Pripomoček za snemanje: prikaže pravilne vrednosti
- Uporabniški vmesnik za snemanje: (ponovno) prikaže nadmorsko višino v EGM2008
Razvijalec:
- Android12 dovoljenja (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks je aplikacija za sledenje športu, ki popolnoma spoštuje vašo zasebnost.
Značilnosti:
* Športno sledenje: sledite svojim športnim aktivnostim in aktivnostim na prostem.
* Fotografije in oznake: med sledenjem označite zanimive lokacije
* Pridobivanje in izgubljanje nadmorske višine: prek barometričnega senzorja
* Nadmorska višina je prikazana v EGM2008 (nad srednjo morsko gladino); izvozi se kot WGS84
* Glasovna obvestila
* Podpira senzorje Bluetooth LE: srčni utrip, hitrost in razdalja (kolesarjenje), kadenca (kolesarjenje) in merilnik moči (kolesarjenje)
* Izvoz podatkov: izvozite proge kot KMZ (vključno s fotografijami), KML ali GPX
* Brez dostopa do interneta: Internet se ne uporablja
@@ -0,0 +1 @@
Športni sledilnik, ki popolnoma spoštuje vašo zasebnost.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Förändring:
- Röst tillkännagivande hastighet konfigurerbar
- API < 26: Launcher Ikon utelämnar bakgrund
Buggfixar:
- Inspelning UI: visa korrekta värden
- Inspelning UI: visa (igen) höjd i EGM2008
Utvecklare:
- Android12 behörigheter (BLUETOOTH_CONNECT)
@@ -0,0 +1 @@
En sport tracker som helt respekterar din integritet.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
Thay đổi:
- Giọng nói thông báo tốc độ cấu hình
- HIỂN <26: biểu tượng Phóng bỏ qua nền
Lỗi:
- Ghi UI: hiển thị chính xác giá trị
- Ghi UI: show (một lần nữa) độ cao trong EGM2008
Phát triển:
- Android12 quyền (BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks là một môn thể thao theo dõi ứng dụng hoàn toàn tôn trọng sự riêng tư.
Tính năng:
* Thể theo dõi theo dõi thể thao và hoạt động ngoài trời
* Ảnh và đánh dấu: đánh dấu địa điểm thú vị trong khi theo dõi
* Độ cao được và mất: thông qua khí quyển cảm biến
* Độ cao thể hiện trong EGM2008 (trên mực nước biển); xuất khẩu như WGS84
* Tiếng nói thông báo
* Hỗ trợ Bluetooth LE cảm biến: tim, tốc độ và khoảng cách (đi xe đạp), nhịp (đi xe đạp), và đồng hồ điện (đi xe đạp)
* Xuất dữ liệu: xuất bài hát hoặc là BIỂU (bao gồm. ảnh) DÕI hay C
* Không có Internet: Internet là không được sử dụng
@@ -0,0 +1 @@
Một môn thể thao theo dõi mà hoàn toàn tôn trọng sự riêng tư.
+1
View File
@@ -0,0 +1 @@
OpenTracks
@@ -0,0 +1,12 @@
v3.18.5: OpenTracks
变化。
- 语音播报速度可配置
- API <26: 启动器图标省略背景
错误修正。
- 录音用户界面:显示正确的数值
- 录音用户界面:显示(再次)EGM2008的高度
开发者。
- Android12权限(BLUETOOTH_CONNECT)
@@ -0,0 +1,11 @@
OpenTracks是一个完全尊重你的隐私的运动跟踪应用程序。
特点。
* 运动追踪:追踪你的运动和户外活动
* 照片和标记:在跟踪时标记有趣的地点
* 海拔增减:通过气压传感器
* 高度显示为EGM2008(平均海平面以上);导出为WGS84
* 语音播报
* 支持蓝牙LE传感器:心率、速度和距离(骑车)、节奏(骑车)和功率计(骑车)。
* 导出数据:以KMZ(包括照片)、KML或GPX形式导出轨迹
* 没有互联网接入。不使用互联网
@@ -0,0 +1 @@
一个完全尊重你隐私的运动追踪器。
@@ -0,0 +1 @@
OpenTracks
@@ -1,6 +1,7 @@
package de.dennisguse.opentracks;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
@@ -9,16 +10,18 @@ import androidx.test.espresso.DataInteraction;
import androidx.test.espresso.UiController;
import androidx.test.espresso.ViewAction;
import androidx.test.espresso.ViewInteraction;
import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule;
import androidx.test.rule.GrantPermissionRule;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.GrantPermissionRule;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.junit.runner.RunWith;
import static androidx.test.espresso.Espresso.onData;
@@ -44,12 +47,15 @@ import static org.hamcrest.Matchers.is;
public class EspressoCategoryUnitTest {
@Rule
public ActivityTestRule<TrackListActivity> mActivityTestRule = new ActivityTestRule<>(TrackListActivity.class);
public ActivityScenarioRule<TrackListActivity> mActivityTestRule = new ActivityScenarioRule<>(TrackListActivity.class);
@Rule
public GrantPermissionRule mGrantPermissionRule =
GrantPermissionRule.grant(
"android.permission.ACCESS_FINE_LOCATION");
public TestRule mRuntimePermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION);
private final Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
@Rule
public TestRule mLocaleRule = new PreferenceMetricUnitRule(context, true);
@Test
public void changeBetweenCategoryUpdateProperlyUnitTest() {
@@ -18,16 +18,17 @@ import androidx.test.espresso.ViewInteraction;
import androidx.test.espresso.action.MotionEvents;
import androidx.test.espresso.assertion.ViewAssertions;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.GrantPermissionRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -55,7 +56,7 @@ public class EspressoDeleteTrackTest {
public ActivityScenarioRule<TrackListActivity> mActivityTestRule = new ActivityScenarioRule<>(TrackListActivity.class);
@Rule
public GrantPermissionRule mGrantPermissionRule = GrantPermissionRule.grant("android.permission.ACCESS_FINE_LOCATION");
public GrantPermissionRule mGrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION);
private MyIdlingResource idlingResource;
@@ -72,6 +73,8 @@ public class EspressoDeleteTrackTest {
Espresso.unregisterIdlingResources(idlingResource);
}
@Ignore("Test fails permanently")
@Deprecated
@Test
public void espressoDeleteTrackTest() {
int countBefore;
@@ -239,9 +242,9 @@ public class EspressoDeleteTrackTest {
}
private class MyIdlingResource implements IdlingResource {
private static class MyIdlingResource implements IdlingResource {
private Context context;
private final Context context;
private ResourceCallback resourceCallback;
public MyIdlingResource(Context context) {
@@ -35,7 +35,7 @@ public class EspressoUITest {
public ActivityScenarioRule<TrackListActivity> mActivityTestRule = new ActivityScenarioRule<>(TrackListActivity.class);
@Rule
public GrantPermissionRule mGrantPermissionRule = GrantPermissionRule.grant("android.permission.ACCESS_FINE_LOCATION");
public GrantPermissionRule mGrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION);
@LargeTest
@Test
@@ -0,0 +1,40 @@
package de.dennisguse.opentracks;
import android.content.Context;
import android.content.SharedPreferences;
import androidx.annotation.NonNull;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import de.dennisguse.opentracks.util.PreferencesUtils;
public class PreferenceMetricUnitRule implements TestRule {
private final Context context;
private final boolean metricUnits;
public PreferenceMetricUnitRule(@NonNull Context context, boolean metricUnits) {
this.context = context;
this.metricUnits = metricUnits;
}
@Override
public Statement apply(final Statement base, final Description description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
SharedPreferences sharedPreferences = PreferencesUtils.getSharedPreferences(context);
final boolean previousMetricUnits = PreferencesUtils.isMetricUnits(sharedPreferences, context);
try {
PreferencesUtils.setMetricUnits(sharedPreferences, context, metricUnits);
base.evaluate();
} finally {
PreferencesUtils.setMetricUnits(sharedPreferences, context, previousMetricUnits);
}
}
};
}
}
@@ -1,7 +1,5 @@
package de.dennisguse.opentracks.content.data;
import android.location.Location;
import org.junit.Test;
import java.time.Instant;
@@ -31,15 +29,13 @@ public class TrackPointTest {
@Test
public void distanceToPrevious() {
Location l1 = new Location("test");
l1.setLatitude(0);
l1.setLongitude(0.0001);
TrackPoint tp1 = new TrackPoint(l1);
TrackPoint tp1 = new TrackPoint(TrackPoint.Type.TRACKPOINT)
.setLatitude(0)
.setLongitude(0.0001);
Location l2 = new Location("test");
l2.setLatitude(0);
l2.setLongitude(0.0002);
TrackPoint tp2 = new TrackPoint(l2);
TrackPoint tp2 = new TrackPoint(TrackPoint.Type.TRACKPOINT)
.setLatitude(0)
.setLongitude(0.0002);
// without sensor distance
assertEquals(11.13, tp2.distanceToPrevious(tp1).toM(), 0.01);
@@ -135,12 +135,12 @@ public class CustomContentProviderUtilsTest {
List<TrackPoint> trackPoints = new ArrayList<>(numPoints);
for (int i = 0; i < numPoints; ++i) {
Location loc = new Location("test");
loc.setLatitude(37.0 + (double) i / 10000.0);
loc.setLongitude(57.0 - (double) i / 10000.0);
loc.setAccuracy((float) i / 100.0f);
loc.setAltitude(i * 2.5);
trackPoints.add(new TrackPoint(loc));
TrackPoint trackPoint = new TrackPoint(TrackPoint.Type.TRACKPOINT)
.setLatitude(37.0 + (double) i / 10000.0)
.setLongitude(57.0 - (double) i / 10000.0)
.setAccuracy((float) i / 100.0f)
.setAltitude(i * 2.5);
trackPoints.add(trackPoint);
}
contentProviderUtils.bulkInsertTrackPoint(trackPoints, id);
@@ -503,7 +503,7 @@ public class CustomContentProviderUtilsTest {
contentProviderUtils.insertMarker(marker1);
// Check insert was done.
assertEquals(contentProviderUtils.getMarkerCount(trackId), 1);
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
// Get marker id that needs to delete.
Marker.Id marker1Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker1)));
@@ -530,7 +530,7 @@ public class CustomContentProviderUtilsTest {
contentProviderUtils.insertMarker(marker1);
// Check insert was done.
assertEquals(contentProviderUtils.getMarkerCount(trackId), 1);
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
// Get marker id that needs to delete.
Marker.Id marker1Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker1)));
@@ -1252,7 +1252,7 @@ public class CustomContentProviderUtilsTest {
@Test
public void testGetSensorStats_veryLongActivity12h() {
testGetSensorStats_randomData(43200 / 6, false);
testGetSensorStats_randomData(43200 / 6, false);
}
@Test
@@ -29,7 +29,7 @@ public class ShareContentProviderTest {
trackIds.add(new Track.Id(3));
trackIds.add(new Track.Id(5));
Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "TrackName", TrackFileFormat.KML_ONLY_TRACK);
Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "TrackName", TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA);
assertEquals(trackIds, ShareContentProvider.parseURI(shareURIandMIME.first));
}
@@ -38,8 +38,8 @@ public class ShareContentProviderTest {
public void testCreateURIescapeFilename() {
Set<Track.Id> trackIds = new HashSet<>();
trackIds.add(new Track.Id(1));
Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "../../&1=1", TrackFileFormat.KML_ONLY_TRACK);
Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "../../&1=1", TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA);
assertEquals(Uri.parse("content://de.dennisguse.opentracks.debug.content/tracks/kml_only_track/1/..%2F..%2F%261%3D1.kml"), shareURIandMIME.first);
assertEquals(Uri.parse("content://de.dennisguse.opentracks.debug.content/tracks/kml_with_trackdetail_and_sensordata/1/..%2F..%2F%261%3D1.kml"), shareURIandMIME.first);
}
}
@@ -16,8 +16,9 @@
package de.dennisguse.opentracks.fragments;
import android.location.Location;
import java.time.Instant;
import de.dennisguse.opentracks.content.data.Speed;
import de.dennisguse.opentracks.content.data.TrackPoint;
/**
@@ -29,11 +30,10 @@ public class TrackStubUtils {
public static final double INITIAL_ALTITUDE = 22;
public static final long INITIAL_TIME = 1000L;
private static final String LOCATION_PROVIDER = "gps";
private static final double INITIAL_LATITUDE = 22;
private static final double INITIAL_LONGITUDE = 22;
private static final float INITIAL_ACCURACY = 5;
private static final float INITIAL_SPEED = 10;
private static final Speed INITIAL_SPEED = Speed.of(10);
private static final float INITIAL_BEARING = 3.0f;
/**
@@ -51,15 +51,12 @@ public class TrackStubUtils {
* @return a SensorDataSetLocation stub.
*/
private static TrackPoint createDefaultTrackPoint(double latitude, double longitude, double altitude) {
Location location = new Location(LOCATION_PROVIDER);
location.setLatitude(latitude);
location.setLongitude(longitude);
location.setAltitude(altitude);
location.setAccuracy(INITIAL_ACCURACY);
location.setSpeed(INITIAL_SPEED);
location.setTime(INITIAL_TIME); //TODO This is nowadays ignored as the constructor will replace the time.
location.setBearing(INITIAL_BEARING);
return new TrackPoint(location);
return new TrackPoint(TrackPoint.Type.TRACKPOINT, Instant.ofEpochMilli(INITIAL_TIME))
.setLatitude(latitude)
.setLongitude(longitude)
.setAltitude(altitude)
.setAccuracy(INITIAL_ACCURACY)
.setSpeed(INITIAL_SPEED)
.setBearing(INITIAL_BEARING);
}
}
@@ -5,7 +5,6 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Looper;
import android.util.Log;
import androidx.preference.PreferenceManager;
import androidx.test.core.app.ApplicationProvider;
@@ -46,7 +45,6 @@ import de.dennisguse.opentracks.services.TrackRecordingService;
import de.dennisguse.opentracks.stats.TrackStatistics;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -112,9 +110,6 @@ public class ExportImportTest {
trackId = service.startNewTrack();
//TODO Workaround as those managers overwrite input data; We need to refactor TrackRecordingService to make it actually testable
service.setAltitudeSumManager(null);
service.setRemoteSensorManager(null);
Distance sensorDistance = hasSensorDistance ? Distance.of(5) : null;
@@ -126,9 +121,6 @@ public class ExportImportTest {
service.pauseCurrentTrack();
service.resumeCurrentTrack();
//TODO Workaround as those managers overwrite input data; We need to refactor TrackRecordingService to make it actually testable
service.setAltitudeSumManager(null);
service.setRemoteSensorManager(null);
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.003, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 16, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
@@ -156,46 +148,6 @@ public class ExportImportTest {
}
}
@LargeTest
@Test
public void kml_with_trackdetail() throws TimeoutException, IOException {
setUp(false);
// given
Track track = contentProviderUtils.getTrack(trackId);
TrackExporter trackExporter = TrackFileFormat.KML_WITH_TRACKDETAIL.createTrackExporter(context);
// when
// 1. export
trackExporter.writeTrack(track, context.getContentResolver().openOutputStream(tmpFileUri));
contentProviderUtils.deleteTrack(context, trackId);
// 2. import
InputStream inputStream = context.getContentResolver().openInputStream(tmpFileUri);
XMLImporter importer = new XMLImporter(new KmlTrackImporter(context, trackImporter));
importTrackId = importer.importFile(inputStream).get(0);
// then
// 1. track
Track importedTrack = contentProviderUtils.getTrack(importTrackId);
assertNotNull(importedTrack);
assertEquals(track.getCategory(), importedTrack.getCategory());
assertEquals(track.getDescription(), importedTrack.getDescription());
assertEquals(track.getName(), importedTrack.getName());
assertEquals(track.getIcon(), importedTrack.getIcon());
assertEquals(track.getUuid(), importedTrack.getUuid());
// 2. trackpoints
assertTrackpoints(trackPoints, false, false, false, false, false, false);
// 3. trackstatistics
assertTrackStatistics(false, false, true);
// 4. markers
assertMarkers();
}
@LargeTest
@Test
public void kml_with_trackdetail_and_sensordata() throws TimeoutException, IOException {
@@ -226,10 +178,12 @@ public class ExportImportTest {
assertEquals(track.getIcon(), importedTrack.getIcon());
// 2. trackpoints
assertTrackpoints(trackPoints, true, true, true, true, true, true);
TrackPointAssert a = new TrackPointAssert()
.noAccuracy();
a.assertEquals(trackPoints, TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId));
// 2. trackstatistics
assertTrackStatistics(false, true, true);
assertTrackStatistics(false, true);
// 4. markers
assertMarkers();
@@ -265,10 +219,12 @@ public class ExportImportTest {
assertEquals(track.getIcon(), importedTrack.getIcon());
// 2. trackpoints
assertTrackpoints(trackPoints, true, true, true, true, true, true);
TrackPointAssert a = new TrackPointAssert()
.noAccuracy();
a.assertEquals(trackPoints, TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId));
// 2. trackstatistics
assertTrackStatistics(false, true, true);
assertTrackStatistics(false, true);
// 4. markers
assertMarkers();
@@ -338,10 +294,13 @@ public class ExportImportTest {
trackPointsWithCoordinates.get(0).setType(TrackPoint.Type.SEGMENT_START_AUTOMATIC);
trackPointsWithCoordinates.get(3).setType(TrackPoint.Type.SEGMENT_START_AUTOMATIC);
assertTrackpoints(trackPointsWithCoordinates, true, true, true, true, true, false);
TrackPointAssert a = new TrackPointAssert()
.setDelta(0.05)
.noAccuracy(); // speed is not fully
a.assertEquals(trackPointsWithCoordinates, TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId));
// 3. trackstatistics
assertTrackStatistics(true, true, false);
assertTrackStatistics(true, false);
// 4. markers
assertMarkers();
@@ -376,7 +335,7 @@ public class ExportImportTest {
}
private void assertMarkers() {
assertEquals(markers.size(), contentProviderUtils.getMarkerCount(importTrackId));
assertEquals(markers.size(), contentProviderUtils.getMarkers(importTrackId).size());
List<Marker> importedMarkers = contentProviderUtils.getMarkers(importTrackId);
for (int i = 0; i < markers.size(); i++) {
@@ -390,67 +349,12 @@ public class ExportImportTest {
assertEquals(marker.getLocation().getLatitude(), importMarker.getLocation().getLatitude(), 0.001);
assertEquals(marker.getLocation().getLongitude(), importMarker.getLocation().getLongitude(), 0.001);
assertEquals(marker.getLocation().getAltitude(), importMarker.getLocation().getAltitude(), 0.001);
assertEquals(marker.getLocation().getAltitude(), importMarker.getLocation().getAltitude(), 0.1);
}
}
private void assertTrackpoints(List<TrackPoint> trackPoints, boolean verifyPower, boolean verifyHeartrate, boolean verifyCadence, boolean verifyAltitudeGain, boolean verifyAltitudeLoss, boolean verifyDistance) {
List<TrackPoint> importedTrackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId);
assertEquals(trackPoints.size(), importedTrackPoints.size());
for (int i = 0; i < trackPoints.size(); i++) {
TrackPoint trackPoint = trackPoints.get(i);
TrackPoint importedTrackPoint = importedTrackPoints.get(i);
assertEquals(trackPoint.getTime(), importedTrackPoint.getTime());
TrackPoint.Type type = trackPoint.getType();
Log.e(TAG, "" + importedTrackPoint.getType().equals(type));
assertEquals("" + i, type, importedTrackPoint.getType());
// TODO Not exported for GPX/KML
// assertEquals(trackPoint.getAccuracy(), importedTrackPoint.getAccuracy(), 0.01);
assertEquals("" + i, trackPoint.hasLocation(), importedTrackPoint.hasLocation());
if (trackPoint.hasLocation()) {
assertEquals("" + i, trackPoint.getLatitude(), importedTrackPoint.getLatitude(), 0.001);
assertEquals("" + i, trackPoint.getLongitude(), importedTrackPoint.getLongitude(), 0.001);
}
assertEquals("" + i, trackPoint.hasSpeed(), importedTrackPoint.hasSpeed());
if (trackPoint.hasSpeed()) {
assertEquals("" + i, trackPoint.getSpeed().toMPS(), importedTrackPoint.getSpeed().toMPS(), 0.001);
}
assertEquals("" + i, trackPoint.hasAltitude(), importedTrackPoint.hasAltitude());
if (trackPoint.hasAltitude()) {
assertEquals("" + i, trackPoint.getAltitude().toM(), importedTrackPoint.getAltitude().toM(), 0.001);
}
if (type.equals(TrackPoint.Type.SEGMENT_START_MANUAL) || type.equals(TrackPoint.Type.SEGMENT_END_MANUAL)) {
//TODO REMOVE
continue;
}
if (verifyHeartrate) {
assertEquals("" + i, trackPoint.getHeartRate_bpm(), importedTrackPoint.getHeartRate_bpm(), 0.01);
}
if (verifyCadence) {
assertEquals("" + i, trackPoint.getCyclingCadence_rpm(), importedTrackPoint.getCyclingCadence_rpm(), 0.01);
}
if (verifyPower) {
assertEquals("" + i, trackPoint.getPower(), importedTrackPoint.getPower(), 0.01);
}
if (verifyAltitudeGain) {
assertEquals(trackPoint.getAltitudeGain(), importedTrackPoint.getAltitudeGain(), 0.01);
}
if (verifyAltitudeLoss) {
assertEquals(trackPoint.getAltitudeLoss(), importedTrackPoint.getAltitudeLoss(), 0.01);
}
if (verifyDistance) {
assertEquals(trackPoint.getSensorDistance(), importedTrackPoint.getSensorDistance());
}
}
}
private void assertTrackStatistics(boolean isGpx, boolean verifyAltitudeGainAndLoss, boolean verifyDistance) {
private void assertTrackStatistics(boolean isGpx, boolean verifyDistance) {
double delta = isGpx ? 0.1 : 0.01;
Track importedTrack = contentProviderUtils.getTrack(importTrackId);
assertNotNull(importedTrack.getTrackStatistics());
@@ -479,15 +383,14 @@ public class ExportImportTest {
}
// Altitude
assertEquals(trackStatistics.getMinAltitude(), importedTrackStatistics.getMinAltitude(), 0.01);
assertEquals(trackStatistics.getMaxAltitude(), importedTrackStatistics.getMaxAltitude(), 0.01);
if (verifyAltitudeGainAndLoss) {
assertEquals(trackStatistics.getTotalAltitudeGain(), importedTrackStatistics.getTotalAltitudeGain(), 0.01);
assertEquals(trackStatistics.getTotalAltitudeLoss(), importedTrackStatistics.getTotalAltitudeLoss(), 0.01);
assertEquals(trackStatistics.getMinAltitude(), importedTrackStatistics.getMinAltitude(), delta);
if (isGpx) {
assertEquals(trackStatistics.getMaxAltitude(), importedTrackStatistics.getMaxAltitude(), 2);
} else {
assertFalse(importedTrackStatistics.hasTotalAltitudeGain());
assertFalse(importedTrackStatistics.hasTotalAltitudeLoss());
assertEquals(trackStatistics.getMaxAltitude(), importedTrackStatistics.getMaxAltitude(), delta);
}
assertEquals(trackStatistics.getTotalAltitudeGain(), importedTrackStatistics.getTotalAltitudeGain(), delta);
assertEquals(trackStatistics.getTotalAltitudeLoss(), importedTrackStatistics.getTotalAltitudeLoss(), delta);
}
private static TrackPoint createTrackPoint(long time, double latitude, double longitude, float accuracy, float speed, float altitude, float altitudeGain, float heartRate, float cyclingCadence, float power, Distance distance) {

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