Compare commits
388 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3eb89d7899 | |||
| f12ff4a625 | |||
| 71dac06ce8 | |||
| 07090cd72c | |||
| 26a20fe32d | |||
| d74ef256d7 | |||
| 0392ba5128 | |||
| 3d12ebdaa3 | |||
| b3cb5e8091 | |||
| 8f9cbcc077 | |||
| 14b6746dff | |||
| a5eca8fa64 | |||
| 498ee20e2a | |||
| 2207865a70 | |||
| 8073f12947 | |||
| cacfcbd4d6 | |||
| 08673de331 | |||
| aecd1504f3 | |||
| f3bf42083a | |||
| 8a9cd40bd5 | |||
| fee1d1a871 | |||
| 0787ae6686 | |||
| 747ef9fc56 | |||
| 5911d60818 | |||
| b89dbf5819 | |||
| 99e2c1f38d | |||
| faa1ffe53b | |||
| 8461122df0 | |||
| 2ca7aa8f1d | |||
| 9db2aff631 | |||
| b7cedab1fb | |||
| 0a193c8b5c | |||
| 7049fab204 | |||
| 80fa49bcf0 | |||
| a1eb5fb15f | |||
| 9160b9b104 | |||
| 85a73c3c85 | |||
| 8389f9150a | |||
| 3075f4010f | |||
| 82e305e6a7 | |||
| 6351a335c0 | |||
| 6538daedef | |||
| 82fe859c84 | |||
| f567b03be5 | |||
| 7dc4e8dbc8 | |||
| 2a272a887e | |||
| 868509e00b | |||
| 477bdd5214 | |||
| 286cec8d77 | |||
| 58d4ee7d7d | |||
| 0e93a304f0 | |||
| 0adc4c7986 | |||
| a93424629d | |||
| da29766fd0 | |||
| dc7afbd07f | |||
| 67b174feac | |||
| b6b81b5d3d | |||
| 7d804b603d | |||
| 8696a15ce7 | |||
| 989fe39849 | |||
| ed1e432691 | |||
| 4f612e32d6 | |||
| e5d1e421a4 | |||
| 08ab8cc61d | |||
| c3b30815c8 | |||
| 5a4919efd2 | |||
| bb549fdc93 | |||
| 73e59cbba2 | |||
| 27727b6dcf | |||
| 06d2957407 | |||
| 8b08af6bcf | |||
| 78dad95ef6 | |||
| be9d56721e | |||
| e5785dd3ac | |||
| 11d912d14d | |||
| 807ac3fc9f | |||
| 45874d3749 | |||
| 594f69320a | |||
| d4927c9444 | |||
| 00dbd056d6 | |||
| 8f19ad8f66 | |||
| 2fdad54a7c | |||
| 5a5f040ed5 | |||
| 0ada9a2463 | |||
| 719bb981ec | |||
| 3c95d8744d | |||
| 63d1c9ee5e | |||
| 1ccd2e3c0a | |||
| cdbddabc1b | |||
| 9f6ca83f27 | |||
| f2ee99a477 | |||
| 7009ede095 | |||
| 2b530a1c53 | |||
| 33673f5921 | |||
| a7398d43e3 | |||
| 59b016a4a3 | |||
| 78aa5d51c6 | |||
| 95f584b554 | |||
| cf759d526d | |||
| 4c44ea12a4 | |||
| 9d09865907 | |||
| 5667d2d83e | |||
| 386f017fb7 | |||
| 87594e822d | |||
| ee832c7bd2 | |||
| 30042d5bc3 | |||
| 73cbb7a29c | |||
| c100fdde4f | |||
| 04e1496084 | |||
| 21d1852505 | |||
| 1502b0cfa7 | |||
| e7d6f65508 | |||
| 0e69a444a5 | |||
| 3b62999fde | |||
| 97431233ac | |||
| d49675afc8 | |||
| c1f7ab36a8 | |||
| eb14cc7bc6 | |||
| a47b9164af | |||
| 502e3ecb21 | |||
| 71903f174a | |||
| ab6606a295 | |||
| c4e2023992 | |||
| cb10bdda3f | |||
| f913472aae | |||
| af4826c578 | |||
| 63172ec66f | |||
| 3d6c339509 | |||
| 49f86c4eb9 | |||
| 7664bd248d | |||
| 73615aa0d6 | |||
| 81bb6699d8 | |||
| 93c67e3728 | |||
| 993816a34a | |||
| 3c0999c3a0 | |||
| 4528e7148f | |||
| 74042f5d85 | |||
| 92f6fbe04a | |||
| 5fa50250de | |||
| 8ee9daf7af | |||
| a54c8c1d25 | |||
| 8137ec8de2 | |||
| ae2a97576b | |||
| 3e830a086e | |||
| 618a1df3ea | |||
| 90cfc67c59 | |||
| cecc586868 | |||
| f956e7fab3 | |||
| 128b95cd83 | |||
| 895a5c2b2a | |||
| 91ce5cf8d7 | |||
| a283464331 | |||
| 1c3a2bd2e4 | |||
| 0b326a77c2 | |||
| d68008941e | |||
| b822d05a78 | |||
| 74bfed768c | |||
| ebfcce6d8d | |||
| d97d8f85e4 | |||
| 37c2c5029e | |||
| 105ff89fd8 | |||
| 0ac033106c | |||
| 21ec9fc568 | |||
| 2e3a7a31d4 | |||
| ecd7405a8c | |||
| 28abe360cb | |||
| 9cf88c00b0 | |||
| 8bbde4aacd | |||
| 00351136f2 | |||
| 30b85bd215 | |||
| 14b705b43e | |||
| 31fc0adabc | |||
| 1714da5d3b | |||
| 6ae47b5e01 | |||
| df8e4c2e2e | |||
| 6f9fa3719a | |||
| b9014c7219 | |||
| d44ab44620 | |||
| bcffe05744 | |||
| ed60734868 | |||
| e314ff8f43 | |||
| 1108684d06 | |||
| 6c0033c107 | |||
| 8a3e50ef9b | |||
| 05b572253e | |||
| f755a086cd | |||
| b0605323da | |||
| 585c2234eb | |||
| c5d7ea4245 | |||
| 281cd8a861 | |||
| 36400c8ad0 | |||
| fb00f697c5 | |||
| f529726218 | |||
| 059f3d8f43 | |||
| cae716925f | |||
| d29ee6da3d | |||
| 033b5211ea | |||
| 5f4f5baba4 | |||
| 4421046556 | |||
| 30482d5a34 | |||
| f12094c953 | |||
| c5147e7664 | |||
| 03b66bc6a2 | |||
| 7b40f2c949 | |||
| 785a922d03 | |||
| 5d2414977b | |||
| f9b8e46b32 | |||
| c79fc2f353 | |||
| e283e993bb | |||
| 3f1e74e71e | |||
| 300453e3e6 | |||
| ac8eea377e | |||
| cc44e8e9bf | |||
| 3860472e6b | |||
| 69029486b6 | |||
| b407f86d5e | |||
| 731adc7e31 | |||
| 858149e718 | |||
| 34e796f73c | |||
| 3ac71361b8 | |||
| e409b315b4 | |||
| 24eb768707 | |||
| 17ad13d559 | |||
| 3b71212905 | |||
| 16a29c5e31 | |||
| e421164282 | |||
| de01157964 | |||
| 8ef51ec318 | |||
| d2139d70ad | |||
| d1a37366be | |||
| 52d7c8a6cb | |||
| c62e56e5a3 | |||
| 6b89092adf | |||
| 118a56b8d6 | |||
| 7fb993014c | |||
| 09f72af66c | |||
| 815f111ca6 | |||
| 40d2bf0c22 | |||
| a77b7a0626 | |||
| 1a00b4b779 | |||
| 6c5c47240c | |||
| 3c32da970b | |||
| 9cff62c5ba | |||
| 424f93b4da | |||
| 3a23a412c8 | |||
| 9d64989ef1 | |||
| da62d26409 | |||
| a350077e5c | |||
| 36b6cd3c98 | |||
| 203b457ad0 | |||
| 0873b3bd12 | |||
| a7f7e3fca1 | |||
| a52beffef5 | |||
| e6f6d61b84 | |||
| 4a167c9335 | |||
| 16857a9968 | |||
| 094a20c379 | |||
| 0d3cf4ce0d | |||
| 8a2d1c42a8 | |||
| a5b44175a3 | |||
| db5c9479df | |||
| 16f238f34b | |||
| a57b5cd6ee | |||
| 5e54cb8fda | |||
| 0934e7f10c | |||
| 6741ef4d9f | |||
| f2ac1edc4b | |||
| b44bab1ab5 | |||
| 574bd38a35 | |||
| 374959f340 | |||
| 3815ee6c59 | |||
| 5e4924a5e1 | |||
| 8123104f39 | |||
| a9e0c4916d | |||
| 58803c975a | |||
| d7dc59e547 | |||
| 5cf8b67954 | |||
| fb70486bdc | |||
| 18b21a6a3e | |||
| 71288cd9be | |||
| 220545da9f | |||
| 43e9c42915 | |||
| 28944eff07 | |||
| 92f9f94423 | |||
| 8ae268fab2 | |||
| 346264025b | |||
| 0a810e7123 | |||
| 02f3fc1940 | |||
| dd1c5667a0 | |||
| 0f489f1cc9 | |||
| a07f11589b | |||
| 209a320433 | |||
| 8ab9ed0e31 | |||
| 80ca4e647a | |||
| a8de9cb216 | |||
| 12c21b7940 | |||
| 4c5ff546a4 | |||
| 2e0835b2ec | |||
| 18ea8fea87 | |||
| 02a69c8817 | |||
| cab70d665c | |||
| c42f833703 | |||
| 39838232b5 | |||
| 2b346b3f18 | |||
| 7c5115fc56 | |||
| cb71c40350 | |||
| 22bde4af3c | |||
| ecfcc180b9 | |||
| 9c1af67e7e | |||
| 873422540f | |||
| 6cf0b26058 | |||
| a94b227767 | |||
| c820a76102 | |||
| e61b065f2b | |||
| 24d8e976da | |||
| 79e45f7aea | |||
| 72f7b12da6 | |||
| 9973dd05bd | |||
| 41072a8981 | |||
| b1dcdf326c | |||
| c271dd32ac | |||
| 5dfa867034 | |||
| ada0f88538 | |||
| 4df0e2a65c | |||
| 9e7e8c60a6 | |||
| 1075021e21 | |||
| b5acfa022d | |||
| 6fe38453b3 | |||
| 2692cc553c | |||
| 3db4dc9422 | |||
| 01bb4429ad | |||
| ca817e789e | |||
| 7bf2110a54 | |||
| 78662a330f | |||
| 8bfaa1d542 | |||
| 5a1bee13f9 | |||
| b01045abe4 | |||
| d7fbae9321 | |||
| ab5e6cbfcd | |||
| 0848897ed0 | |||
| 1e4e7b8c15 | |||
| 7ca6925e7d | |||
| 5c06c7548f | |||
| 8001c03a74 | |||
| 30f9b6ffdc | |||
| a7fd6b8dfa | |||
| cc93384d1f | |||
| 78519883c0 | |||
| 29051ac978 | |||
| cf32c81035 | |||
| 094c97f78d | |||
| 8dca84456b | |||
| f962f27309 | |||
| 2f0826baf6 | |||
| b7ff0e2fac | |||
| fe6ef29f75 | |||
| 152cf72e8a | |||
| 4fd66a3830 | |||
| 9f715207e1 | |||
| e63ddbc7ae | |||
| 06e5545ac0 | |||
| 65413e0304 | |||
| 5e268463e1 | |||
| d31ffad2c9 | |||
| 46925a4c67 | |||
| 2a1aeb5dd8 | |||
| 454d5d16b5 | |||
| 45f51ff2dd | |||
| 785511913c | |||
| b937e8ad9b | |||
| 40534cd7f5 | |||
| f50b1c2f6c | |||
| 7c19621bfb | |||
| 7c06327084 | |||
| 19a958ccbb | |||
| 2dc362c105 | |||
| 708245bd50 | |||
| f4c07463b3 | |||
| d8ffc1318f | |||
| 5998f9127d | |||
| 40fb9b05bc | |||
| 8219bfe428 | |||
| bcdea5b08b | |||
| 5e49a38dce | |||
| 32e07c9d1f | |||
| efc37527f3 | |||
| 90a2710138 | |||
| bf4dd96235 |
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
name: Data not recorded
|
||||||
|
about: Somehow OpenTracks did not record GPS data
|
||||||
|
title: ''
|
||||||
|
labels: potential bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Please describe the problem and how to reproduce it:**
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
**Checklist**
|
||||||
|
|
||||||
|
- [ ] Consulted [https://dontkillmyapp.com/]
|
||||||
|
- [ ] Power management: battery optimization is disabled for OpenTracks
|
||||||
|
|
||||||
|
**Technical information**
|
||||||
|
|
||||||
|
- Device: [e.g. Nexus 7 (2013)]
|
||||||
|
- OS: [e.g. LineageOS 15.1]
|
||||||
|
- OpenTracks version: [e.g. v3.2.4]
|
||||||
|
- OpenTracks commit id (only for nightly builds): [e.g. 4b333bb]
|
||||||
@@ -1,20 +1,21 @@
|
|||||||
#https://github.com/marketplace/actions/android-emulator-runner
|
#https://github.com/marketplace/actions/android-emulator-runner
|
||||||
name: Build nightly
|
name: Build APK
|
||||||
on: [ push ]
|
on:
|
||||||
|
push
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
nightly-build:
|
apk-build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v2.4.0
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/setup-java@v2
|
- uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'adopt'
|
distribution: 'adopt'
|
||||||
java-version: '11'
|
java-version: '11'
|
||||||
|
|
||||||
- name: Assemble nighlty APK
|
- name: Assemble APK
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
echo ${NIGHTLY_STORE_FILE} | base64 -d > KEY_NIGHTLY.jks
|
echo ${NIGHTLY_STORE_FILE} | base64 -d > KEY_NIGHTLY.jks
|
||||||
@@ -26,9 +27,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Archive
|
- name: Archive
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: OpenTracks-nightly.apk
|
name: OpenTracks-APK.apk
|
||||||
path: ./build/outputs/apk/nightly/*.apk
|
path: ./build/outputs/apk/nightly/*.apk
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
name: Linting
|
name: Linting
|
||||||
|
|
||||||
on: [ push ]
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
analyse:
|
analyse:
|
||||||
@@ -9,9 +11,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2.4.0
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/setup-java@v2
|
- uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: '11'
|
java-version: '11'
|
||||||
|
|||||||
@@ -1,26 +1,32 @@
|
|||||||
|
# We have flaky test results due to performance limitations in Github Actions.
|
||||||
|
# Happens too often nowadays; See https://github.com/OpenTracksApp/OpenTracks/issues/1409
|
||||||
|
|
||||||
#https://github.com/marketplace/actions/android-emulator-runner
|
#https://github.com/marketplace/actions/android-emulator-runner
|
||||||
name: Test
|
name: Test
|
||||||
on: [ push ]
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
api-level: [ 23, 30 ]
|
api-level: [ 24, 30 ]
|
||||||
target: [ default ]
|
target: [ default ]
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v2.4.0
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/setup-java@v2
|
- uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: '11'
|
java-version: '11'
|
||||||
|
|
||||||
- name: run tests
|
- name: run tests
|
||||||
uses: reactivecircus/android-emulator-runner@v2.22.0
|
uses: reactivecircus/android-emulator-runner@v2.26.0
|
||||||
with:
|
with:
|
||||||
api-level: ${{ matrix.api-level }}
|
api-level: ${{ matrix.api-level }}
|
||||||
target: ${{ matrix.target }}
|
target: ${{ matrix.target }}
|
||||||
@@ -30,7 +36,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Archive
|
- name: Archive
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: code-coverage-report
|
name: code-coverage-report
|
||||||
path: build/reports/androidTests/
|
path: build/reports/androidTests/
|
||||||
@@ -42,6 +42,7 @@ captures/
|
|||||||
.idea/dictionaries
|
.idea/dictionaries
|
||||||
.idea/libraries
|
.idea/libraries
|
||||||
.idea/caches
|
.idea/caches
|
||||||
|
.idea/misc.xml
|
||||||
|
|
||||||
|
|
||||||
# IntelliJ IDEA
|
# IntelliJ IDEA
|
||||||
@@ -59,7 +60,6 @@ captures/
|
|||||||
.idea/encodings.xml
|
.idea/encodings.xml
|
||||||
.idea/jsLibraryMappings.xml
|
.idea/jsLibraryMappings.xml
|
||||||
.idea/libraries/
|
.idea/libraries/
|
||||||
.idea/misc.xml
|
|
||||||
.idea/modules.xml
|
.idea/modules.xml
|
||||||
.idea/scopes/scope_settings.xml
|
.idea/scopes/scope_settings.xml
|
||||||
.idea/shelf/
|
.idea/shelf/
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="DesignSurface">
|
|
||||||
<option name="filePathToZoomLevelMap">
|
|
||||||
<map>
|
|
||||||
<entry key="src/main/res/menu/aggregated_statistics.xml" value="0.10208333333333333" />
|
|
||||||
<entry key="src/main/res/xml/settings_gps.xml" value="0.22604166666666667" />
|
|
||||||
<entry key="src/main/res/xml/settings_sensors.xml" value="0.2101851851851852" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectType">
|
|
||||||
<option name="id" value="Android" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -9,7 +9,6 @@ _OpenTracks_ is a sport tracking application that completely respects your priva
|
|||||||
<th>Free (F-Droid)</th>
|
<th>Free (F-Droid)</th>
|
||||||
<th>Free (Nightly for F-Droid)</th>
|
<th>Free (Nightly for F-Droid)</th>
|
||||||
<th>Donations</th>
|
<th>Donations</th>
|
||||||
<th>Translations</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
@@ -27,47 +26,26 @@ _OpenTracks_ is a sport tracking application that completely respects your priva
|
|||||||
<img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg" height="45" align="middle">
|
<img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg" height="45" align="middle">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td align="center">
|
|
||||||
<a href="https://weblate.bubu1.eu/engage/OpenTracks/">
|
|
||||||
<img src="https://weblate.bubu1.eu/widgets/OpenTracks/-/opentracks/svg-badge.svg" alt="Translation status" />
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<img alt="OpenTracks version published on F-Droid" src="https://img.shields.io/f-droid/v/de.dennisguse.opentracks.svg" align="middle" >
|
<img alt="OpenTracks version published on F-Droid" src="https://img.shields.io/f-droid/v/de.dennisguse.opentracks.svg" align="middle" >
|
||||||
</td>
|
</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td align="center">
|
|
||||||
<a href="bitcoin:bc1qckpls3lpjlcpyxzm66hcy65hnesas9zgacy6yc">
|
|
||||||
<img alt="bitcoin:bc1qckpls3lpjlcpyxzm66hcy65hnesas9zgacy6yc" src="promotion/donations-bitcoin.png" height="90" align="middle">
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">
|
<a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">
|
||||||
<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" height="60" align="middle">
|
<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" height="60" align="middle">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td align="center">
|
|
||||||
<a href="https://www.amazon.de/dp/B09K2KNQ7X/">
|
|
||||||
<img alt="Get it on Amazon App Store" src="https://images-na.ssl-images-amazon.com/images/G/01/mobile-apps/devportal2/res/images/amazon-appstore-badge-english-white.png" height="40" align="middle">
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<a href="https://weblate.bubu1.eu/engage/OpenTracks/">
|
||||||
|
<img src="https://weblate.bubu1.eu/widgets/OpenTracks/-/opentracks/horizontal-auto.svg" alt="Translation status" />
|
||||||
|
</a>
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot1.png">
|
<img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot1.png">
|
||||||
<img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot2.png">
|
<img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot2.png">
|
||||||
@@ -86,19 +64,19 @@ _OpenTracks_ is a sport tracking application that completely respects your priva
|
|||||||
* __Voice announcements__
|
* __Voice announcements__
|
||||||
* __Photos and Markers:__ mark interesting locations while tracking
|
* __Photos and Markers:__ mark interesting locations while tracking
|
||||||
* __Export:__
|
* __Export:__
|
||||||
* export tracks either as KMZ (incl. photos), KML, or GPX
|
* 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/))
|
* 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`)
|
* avoid duplication: each exported file contain a random unique identifier (i.e., `opentracks:trackid`)
|
||||||
* __Altitude:__
|
* __Altitude:__
|
||||||
* gain/loss via barometric sensor (if present)
|
* gain/loss via barometric sensor (if present)
|
||||||
* shown in EGM2008 (above mean sea level); exported as WGS84
|
* shown in EGM2008 (above mean sea level); exported as WGS84
|
||||||
* __Bluetooth LE sensors:__
|
* __Bluetooth LE sensors:__
|
||||||
* heart rate
|
* heart rate
|
||||||
* cycling: speed and distance
|
* cycling: speed and distance
|
||||||
* cycling: cadence
|
* cycling: cadence
|
||||||
* cycling: power meter
|
* cycling: power meter
|
||||||
* running: speed and cadence
|
* running: speed and cadence
|
||||||
* support for BLE sensor training only (i.e., without GPS) for indoor training
|
* 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)
|
An overview of tested sensors: [README_TESTED_SENSORS.md](README_TESTED_SENSORS.md)
|
||||||
|
|
||||||
@@ -117,28 +95,58 @@ OpenTracks can be used with [Gadgetbridge](https://www.gadgetbridge.org/):
|
|||||||
__Only required permission:__
|
__Only required permission:__
|
||||||
* _ACCESS_FINE_LOCATION_: required to use the GPS.
|
* _ACCESS_FINE_LOCATION_: required to use the GPS.
|
||||||
|
|
||||||
### API
|
### Public API
|
||||||
The following functionalities by sending from an external application (e.g., [Automate](https://llamalab.com/automate/), [Tasker](https://tasker.joaoapps.com), or [Easer](https://github.com/renyuneyun/Easer)).
|
|
||||||
The API can be invoked by sending an Intent to start an activity.
|
OpenTracks includes an API for starting/stopping recording by another installed application (e.g., [Automate](https://llamalab.com/automate/), [Tasker](https://tasker.joaoapps.com), or [Easer](https://github.com/renyuneyun/Easer)).
|
||||||
Package (depends on the variant installed):
|
The API can be invoked by sending an explicit Intent to start an activity.
|
||||||
|
|
||||||
|
`Package` (depends on the variant installed):
|
||||||
* F-Droid: `de.dennisguse.opentracks`
|
* F-Droid: `de.dennisguse.opentracks`
|
||||||
* GooglePlay: `de.dennisguse.opentracks.playStore`
|
* GooglePlay: `de.dennisguse.opentracks.playStore`
|
||||||
* Debug: `de.dennisguse.opentracks.debug`
|
* Debug: `de.dennisguse.opentracks.debug`
|
||||||
* Nightly: `de.dennisguse.opentracks.nightly`
|
* Nightly: `de.dennisguse.opentracks.nightly`
|
||||||
|
|
||||||
Activity:
|
`Class`:
|
||||||
|
|
||||||
* **Start a recording:** `de.dennisguse.opentracks.publicapi.StartRecording`
|
* **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/activity"`
|
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_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.
|
||||||
|
|
||||||
|
## 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 |
|
||||||
|
|
||||||
|
## Dashboard API (incl. map)
|
||||||
|
|
||||||
|
As of v3.3.1, OpenTracks supports custom dashboards for displaying previously recorded and live
|
||||||
|
tracks.
|
||||||
|
|
||||||
|
The reference implementation is [OSMDashboard](https://github.com/OpenTracksApp/OSMDashboard), which
|
||||||
|
presents an OpenStreetMap map (showing the current track, incl. updates). The Dashboard API is also
|
||||||
|
used by [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/) for displaying live track
|
||||||
|
statistics on supported wearables.
|
||||||
|
|
||||||
|
Alternatively, recorded tracks can be shared as KMZ/GPX with installed applications (
|
||||||
|
e.g., [OsmAnd](https://play.google.com/store/apps/details?id=net.osmand)). However, this is rather
|
||||||
|
slow and does not provide updates while recording.
|
||||||
|
|
||||||
## Custom Dashboards (incl. map)
|
|
||||||
As of v3.3.1, OpenTracks supports custom dashboards.
|
|
||||||
The reference implementation is [OSMDashboard](https://github.com/OpenTracksApp/OSMDashboard), which presents an OpenStreetMap map (showing the current track, incl. updates).
|
|
||||||
The developer documentation is in [README_API.md](README_API.md).
|
The developer documentation is in [README_API.md](README_API.md).
|
||||||
|
|
||||||
Alternatively, recorded tracks can be shared as KMZ/GPX with installed applications (e.g., [OsmAnd](https://play.google.com/store/apps/details?id=net.osmand)).
|
|
||||||
However, this is rather slow and does not provide updates while recording.
|
|
||||||
|
|
||||||
## Project history
|
## Project history
|
||||||
|
|
||||||
_OpenTracks_ is based upon Google _My Tracks app_ ([code](https://code.google.com/archive/p/mytracks/)).
|
_OpenTracks_ is based upon Google _My Tracks app_ ([code](https://code.google.com/archive/p/mytracks/)).
|
||||||
|
|||||||
@@ -4,11 +4,13 @@
|
|||||||
OpenTracks by itself only provides basic features for data visualization and also lacks functionality for analytics.
|
OpenTracks by itself only provides basic features for data visualization and also lacks functionality for analytics.
|
||||||
By itself OpenTracks provides a basic dashboard that can show summary of a track (while recording as well as afterwards).
|
By itself OpenTracks provides a basic dashboard that can show summary of a track (while recording as well as afterwards).
|
||||||
Although this might be (mostly) sufficient, it has some limitations.
|
Although this might be (mostly) sufficient, it has some limitations.
|
||||||
This include limited configurability (e.g., ordering of shown elements) and the lack of Internet access.
|
This includes limited configurability (e.g., ordering of shown elements) and the lack of internet access.
|
||||||
In fact, the later is considered a feature but severely limits the implementation presenting a map (at least in an easy way).
|
In fact, the latter is considered a feature but severely limits the implementation presenting a map (at least in an easy way).
|
||||||
|
|
||||||
For the time being, the OpenTracks Data API can be used to implement mainly custom dashboards.
|
For the time being, the OpenTracks Data API can be used to implement mainly custom dashboards.
|
||||||
|
|
||||||
|
The Data API is disabled by default to protect the user's privacy, but it can easily be enabled in the settings.
|
||||||
|
|
||||||
## Implementation
|
## Implementation
|
||||||
OpenTracks by default does not expose any data to 3rd-party applications.
|
OpenTracks by default does not expose any data to 3rd-party applications.
|
||||||
On the request of the user (i.e., pressing a button), an Intent is created that exposes the `Track` data (it's summary), the `TrackPoint`s, and the `Waypoint`s of one or more selected tracks.
|
On the request of the user (i.e., pressing a button), an Intent is created that exposes the `Track` data (it's summary), the `TrackPoint`s, and the `Waypoint`s of one or more selected tracks.
|
||||||
@@ -17,10 +19,15 @@ These URIs notify observers if on content changes (e.g., a new `TrackPoint` was
|
|||||||
|
|
||||||
Limitations:
|
Limitations:
|
||||||
* only tracks selected by the user are exposed,
|
* only tracks selected by the user are exposed,
|
||||||
* `Waypoints` are not exposed,
|
* `Waypoint`s are not exposed,
|
||||||
* access is only granted temporarily and automatically revoked (see `FLAG_GRANT_READ_URI_PERMISSION`),
|
* access is only granted temporarily and automatically revoked (see `FLAG_GRANT_READ_URI_PERMISSION`),
|
||||||
* no write access is possible, and
|
* no write access is possible
|
||||||
* neither track recordings can be started, paused, or stopped.
|
|
||||||
|
The Data API can also be started automatically by leveraging Extra fields in the explicit Intent for the Start/Stop API.
|
||||||
|
An application that's starting a recording with an explicit Intent can add the `STATS_TARGET_PACKAGE` and `STATS_TARGET_CLASS` Extra fields to let OpenTracks know it wants to receive the Data API URIs.
|
||||||
|
OpenTracks will then (if enabled in the settings) automatically return an explicit Intent to the Package + Class as defined in the received Extra fields, including the Data API URIs and read permissions.
|
||||||
|
|
||||||
|
By using explicit Intents for the calls and URIs with specific temporary read permissions, OpenTracks tries to protect against data leaking as much as possible.
|
||||||
|
|
||||||
All required information can be found in `IntentDashboardUtils.java`.
|
All required information can be found in `IntentDashboardUtils.java`.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## 0x180D: Heartrate Service
|
## 0x180D: Heartrate Service
|
||||||
|
|
||||||
* Decathlon|Geonaute|Kalenji Dual HRM Belt
|
* Decathlon/Geonaute/Kalenji Dual HRM Belt
|
||||||
* moofit heart rate monitor
|
* moofit heart rate monitor
|
||||||
* Polar H7
|
* Polar H7
|
||||||
* Polar H10
|
* Polar H10
|
||||||
@@ -38,17 +38,13 @@ However, often only one value is provided.
|
|||||||
|
|
||||||
We only support _Instantaneous Power_.
|
We only support _Instantaneous Power_.
|
||||||
|
|
||||||
_WARNING_: we only support physically movements with valid GPS coordinates.
|
For cycling (incl. cadence):
|
||||||
Using a device indoors (no GPS available) will only show the current power values, but won't store anything.
|
|
||||||
Also the distance is not computed.
|
|
||||||
|
|
||||||
For cycling:
|
|
||||||
* Assioma Duo Powermeter
|
* Assioma Duo Powermeter
|
||||||
* Elite drivo II
|
* Elite drivo II
|
||||||
* QUARQ Red DZero Powermeter
|
* QUARQ Red DZero Powermeter
|
||||||
* Tacx Satori Smart
|
* Tacx Satori Smart
|
||||||
* Wahoo Kickr v4.0
|
* 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:
|
For running:
|
||||||
* Stryd
|
* Stryd
|
||||||
@@ -59,6 +55,7 @@ We do not support type of movement (i.e., walking vs running).
|
|||||||
|
|
||||||
* Polar Stride
|
* Polar Stride
|
||||||
* Stryd (incl. power)
|
* Stryd (incl. power)
|
||||||
|
* Wahoo Tickr X (Cadence appears to be reported in SPM rather than RPM)
|
||||||
|
|
||||||
## Tested Barometric Sensor Smartphones
|
## Tested Barometric Sensor Smartphones
|
||||||
|
|
||||||
@@ -66,12 +63,12 @@ There are smartphones that have a barometric sensor that OpenTracks uses to comp
|
|||||||
|
|
||||||
In our tests there are smartphones whose barometric sensor works well and others don't. Here is a list of the smartphones tested:
|
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|
|
| Brand | Model | Android Version | Tests |
|
||||||
|-----|-----|---------------|-----------|
|
|--------|--------------------|-----------------|--------------------------------------------------------------------------------|
|
||||||
|Google|Pixel|LineageOS 17.1|Ok|
|
| 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 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 3 | Android 11 | Failure |
|
||||||
|Google|Pixel 3a|Android 11|Ok|
|
| Google | Pixel 3a | Android 11 | Ok |
|
||||||
|Google|Pixel 3a|Lineage 18.1|Ok|
|
| Google | Pixel 3a | Lineage 18.1 | Ok |
|
||||||
|Google|Pixel 4a|Android 11|Ok|
|
| Google | Pixel 4a | Android 11 | Ok |
|
||||||
|Sony|Xperia XZ1 Compact|LineageOS 16.1|Failure|
|
| Sony | Xperia XZ1 Compact | LineageOS 16.1 | Failure |
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ set -e
|
|||||||
# Folder where svg screenshots are expected.
|
# Folder where svg screenshots are expected.
|
||||||
SRC_DIR="screenshots-svg/"
|
SRC_DIR="screenshots-svg/"
|
||||||
# Folder where png files will be saved.
|
# Folder where png files will be saved.
|
||||||
DST_DIR="fastlane/metadata/android/en-US/phoneScreenshots/"
|
DST_DIR="fastlane/metadata/android/en-US/images/phoneScreenshots/"
|
||||||
|
|
||||||
echo "Exporting svg files to png..."
|
echo "Exporting svg files to png..."
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ buildscript {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:7.0.4'
|
classpath 'com.android.tools.build:gradle:7.3.1'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,26 +51,21 @@ android {
|
|||||||
targetCompatibility JavaVersion.VERSION_11
|
targetCompatibility JavaVersion.VERSION_11
|
||||||
}
|
}
|
||||||
|
|
||||||
compileSdkVersion 31
|
compileSdk 33
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding true
|
viewBinding true
|
||||||
}
|
}
|
||||||
|
|
||||||
aaptOptions {
|
|
||||||
cruncherEnabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "de.dennisguse.opentracks"
|
applicationId "de.dennisguse.opentracks"
|
||||||
versionCode 4692
|
versionCode 5080
|
||||||
versionName "v3.24.1"
|
versionName "v4.1.2"
|
||||||
|
|
||||||
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
||||||
|
|
||||||
|
minSdk 21
|
||||||
minSdkVersion 21
|
targetSdk 33
|
||||||
targetSdkVersion 31
|
|
||||||
|
|
||||||
testInstrumentationRunner "de.dennisguse.opentracks.TestRunner"
|
testInstrumentationRunner "de.dennisguse.opentracks.TestRunner"
|
||||||
testInstrumentationRunnerArguments clearPackageData: 'true'
|
testInstrumentationRunnerArguments clearPackageData: 'true'
|
||||||
@@ -86,6 +81,8 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace 'de.dennisguse.opentracks'
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
debug {
|
debug {
|
||||||
applicationIdSuffix ".debug"
|
applicationIdSuffix ".debug"
|
||||||
@@ -98,12 +95,14 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
release {
|
release {
|
||||||
|
crunchPngs false
|
||||||
minifyEnabled false
|
minifyEnabled false
|
||||||
}
|
}
|
||||||
|
|
||||||
releasePlayStore {
|
releasePlayStore {
|
||||||
applicationIdSuffix ".playstore"
|
applicationIdSuffix ".playstore"
|
||||||
versionNameSuffix "-PlayStore"
|
versionNameSuffix "-PlayStore"
|
||||||
|
signingConfig signingConfigs.debug
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,20 +120,21 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
implementation 'androidx.appcompat:appcompat:1.6.0-rc01'
|
||||||
implementation 'androidx.preference:preference:1.1.1'
|
implementation 'androidx.preference:preference:1.2.0'
|
||||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||||
implementation 'com.google.android.material:material:1.5.0'
|
implementation 'com.google.android.material:material:1.7.0'
|
||||||
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||||
|
implementation 'androidx.core:core-splashscreen:1.0.0'
|
||||||
|
|
||||||
androidTestImplementation 'androidx.test:core:1.4.0'
|
androidTestImplementation 'androidx.test:core:1.4.0'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||||
androidTestImplementation 'androidx.test:rules:1.4.0'
|
androidTestImplementation 'androidx.test:rules:1.4.0'
|
||||||
androidTestImplementation 'androidx.test:runner:1.4.0'
|
androidTestImplementation 'androidx.test:runner:1.4.0'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||||
androidTestImplementation 'org.mockito:mockito-android:4.2.0'
|
androidTestImplementation 'org.mockito:mockito-android:4.8.1'
|
||||||
|
|
||||||
androidTestUtil 'androidx.test:orchestrator:1.4.1'
|
androidTestUtil 'androidx.test:orchestrator:1.4.1'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,4 +29,26 @@
|
|||||||
</xsd:documentation>
|
</xsd:documentation>
|
||||||
</xsd:annotation>
|
</xsd:annotation>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
|
<xsd:element name="accuracy_horizontal"
|
||||||
|
type="xsd:float">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation xml:lang="en">
|
||||||
|
Horizontal accuracy in meters of the current TrackPoint; 68% chance that the actual
|
||||||
|
location is
|
||||||
|
within this radius around the measured location.
|
||||||
|
Only used in GPX.
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="accuracy_vertical"
|
||||||
|
type="xsd:float">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation xml:lang="en">
|
||||||
|
Vertical accuracy in meters of the current TrackPoint; 68% chance that the actual
|
||||||
|
location is
|
||||||
|
within this radius around the measured location.
|
||||||
|
Only used in GPX.
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
</xsd:schema>
|
</xsd:schema>
|
||||||
@@ -1,37 +1,119 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<svg xmlns:cc="http://creativecommons.org/ns#"
|
<svg xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
enable-background="new 0 0 95.334 100"
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
height="100"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
id="Ebene_1"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
version="1.1"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
viewBox="0 0 100 100"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="100"
|
enable-background="new 0 0 95.334 100"
|
||||||
x="0px"
|
height="100"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
id="Ebene_1"
|
||||||
y="0px"
|
version="1.1"
|
||||||
xml:space="preserve"><metadata
|
viewBox="0 0 100 100"
|
||||||
|
width="100"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="LOGO.svg"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1011"
|
||||||
|
id="namedview10"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="7.94"
|
||||||
|
inkscape:cx="50"
|
||||||
|
inkscape:cy="50"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Ebene_1" /><metadata
|
||||||
id="metadata16"><rdf:RDF><cc:Work
|
id="metadata16"><rdf:RDF><cc:Work
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata>
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
<defs id="defs14" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata>
|
||||||
<g id="g9"
|
<defs
|
||||||
transform="translate(-1.0593197,1.9067775)">
|
id="defs14"><linearGradient
|
||||||
<linearGradient gradientUnits="userSpaceOnUse"
|
inkscape:collect="always"
|
||||||
id="SVGID_1_"
|
id="linearGradient862"><stop
|
||||||
x1="28.7554"
|
style="stop-color:#ff6d00;stop-opacity:1;"
|
||||||
x2="82.789497"
|
offset="0"
|
||||||
y1="81.535202"
|
id="stop858" /><stop
|
||||||
y2="9.2979002">
|
style="stop-color:#ff6d00;stop-opacity:0;"
|
||||||
<stop style="stop-color:#FBB22F"
|
offset="1"
|
||||||
id="stop2"
|
id="stop860" /></linearGradient><linearGradient
|
||||||
offset="0" />
|
gradientUnits="userSpaceOnUse"
|
||||||
<stop style="stop-color:#F58820"
|
id="SVGID_1_"
|
||||||
id="stop4"
|
x1="28.7554"
|
||||||
offset="1" />
|
x2="82.789497"
|
||||||
|
y1="81.535202"
|
||||||
|
y2="9.2979002"
|
||||||
|
style="fill-opacity:1;fill:url(#linearGradient849)">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#FBB22F;fill-opacity:1;fill:url(#linearGradient849)"
|
||||||
|
id="stop853"
|
||||||
|
offset="0" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#F58820;fill-opacity:1;fill:url(#linearGradient849)"
|
||||||
|
id="stop855"
|
||||||
|
offset="1" />
|
||||||
|
</linearGradient><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient847"><stop
|
||||||
|
style="stop-color:#000000;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop843" /><stop
|
||||||
|
style="stop-color:#000000;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop845" /></linearGradient><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient847"
|
||||||
|
id="linearGradient849"
|
||||||
|
x1="83.161415"
|
||||||
|
y1="8.9067831"
|
||||||
|
x2="10.194695"
|
||||||
|
y2="92.068085"
|
||||||
|
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient862"
|
||||||
|
id="linearGradient866"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="62.43222"
|
||||||
|
y1="35.349697"
|
||||||
|
x2="9.7942638"
|
||||||
|
y2="93.02298" /></defs>
|
||||||
|
<g
|
||||||
|
id="g9"
|
||||||
|
transform="translate(-1.0593197,1.9067775)"
|
||||||
|
style="fill-opacity:1;fill:url(#linearGradient849)">
|
||||||
|
<linearGradient
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="SVGID_1_-3"
|
||||||
|
x1="28.7554"
|
||||||
|
x2="82.789497"
|
||||||
|
y1="81.535202"
|
||||||
|
y2="9.2979002"
|
||||||
|
style="fill-opacity:1;fill:url(#linearGradient849)">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#FBB22F;fill-opacity:1;fill:url(#linearGradient849)"
|
||||||
|
id="stop2"
|
||||||
|
offset="0" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#F58820;fill-opacity:1;fill:url(#linearGradient849)"
|
||||||
|
id="stop4"
|
||||||
|
offset="1" />
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<path style="fill:url(#SVGID_1_)"
|
<path
|
||||||
d="M 83.548,10.927 C 84.255,8.511 83.102,7.649 80.985,9.01 L 11.146,53.921 c -2.117,1.361 -1.795,2.628 0.714,2.815 L 40.865,58.9 c 2.51,0.188 5.291,2.267 6.18,4.621 l 10.282,27.208 c 0.89,2.354 2.195,2.304 2.902,-0.111 z"
|
style="fill:url(#linearGradient866);fill-opacity:1"
|
||||||
id="path7" />
|
d="M 83.548,10.927 C 84.255,8.511 83.102,7.649 80.985,9.01 L 11.146,53.921 c -2.117,1.361 -1.795,2.628 0.714,2.815 L 40.865,58.9 c 2.51,0.188 5.291,2.267 6.18,4.621 l 10.282,27.208 c 0.89,2.354 2.195,2.304 2.902,-0.111 z"
|
||||||
|
id="path7" />
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
enable-background="new 0 0 95.334 100"
|
||||||
|
height="100"
|
||||||
|
id="Ebene_1"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 100 100"
|
||||||
|
width="100"
|
||||||
|
x="0px"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
y="0px"
|
||||||
|
xml:space="preserve"><metadata
|
||||||
|
id="metadata16"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata>
|
||||||
|
<defs id="defs14" />
|
||||||
|
<g id="g9"
|
||||||
|
transform="translate(-1.0593197,1.9067775)">
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse"
|
||||||
|
id="SVGID_1_"
|
||||||
|
x1="28.7554"
|
||||||
|
x2="82.789497"
|
||||||
|
y1="81.535202"
|
||||||
|
y2="9.2979002">
|
||||||
|
<stop style="stop-color:#FBB22F"
|
||||||
|
id="stop2"
|
||||||
|
offset="0" />
|
||||||
|
<stop style="stop-color:#F58820"
|
||||||
|
id="stop4"
|
||||||
|
offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
<path style="fill:url(#SVGID_1_)"
|
||||||
|
d="M 83.548,10.927 C 84.255,8.511 83.102,7.649 80.985,9.01 L 11.146,53.921 c -2.117,1.361 -1.795,2.628 0.714,2.815 L 40.865,58.9 c 2.51,0.188 5.291,2.267 6.18,4.621 l 10.282,27.208 c 0.89,2.354 2.195,2.304 2.902,-0.111 z"
|
||||||
|
id="path7" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
height="22"
|
||||||
|
width="22"
|
||||||
|
fill="#000000"
|
||||||
|
version="1.0"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 21.84952 21.99934"
|
||||||
|
enable-background="new 0 0 99.316 99.997"
|
||||||
|
xml:space="preserve"
|
||||||
|
id="svg10"
|
||||||
|
sodipodi:docname="ic_activity_swimming.svg"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
|
||||||
|
inkscape:export-filename="/home/peter/StudioProjects/OpenTracks/drawable-svg/ic_activity_swimming.png"
|
||||||
|
inkscape:export-xdpi="1309.09"
|
||||||
|
inkscape:export-ydpi="1309.09"
|
||||||
|
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:svg="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/"><metadata
|
||||||
|
id="metadata16"><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><defs
|
||||||
|
id="defs14" /><sodipodi:namedview
|
||||||
|
pagecolor="#000000"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1831"
|
||||||
|
inkscape:window-height="1039"
|
||||||
|
id="namedview12"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:pagecheckerboard="false"
|
||||||
|
inkscape:zoom="31.780381"
|
||||||
|
inkscape:cx="10.368032"
|
||||||
|
inkscape:cy="10.069105"
|
||||||
|
inkscape:window-x="33"
|
||||||
|
inkscape:window-y="3"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg10"
|
||||||
|
inkscape:document-rotation="0" /><path
|
||||||
|
id="path2"
|
||||||
|
style="fill:#ffffff;stroke-width:0.20758"
|
||||||
|
d="m 18.327285,15.516652 c -1.017125,-0.01824 -1.903328,0.770666 -2.945647,0.500454 -0.952298,-0.271819 -1.950516,-0.765534 -2.949277,-0.338881 -0.938402,0.492101 -2.078868,0.493759 -3.0170251,0 C 8.4157577,15.251421 7.4164572,15.744755 6.4634103,16.017106 5.261142,16.31195 4.2317908,15.256338 3.0296629,15.558611 2.2388959,15.806745 1.0534821,16.11293 1.0534821,16.11293 v 1.764949 c 1.0226762,0.01947 1.9128198,-0.776355 2.9601398,-0.498166 1.4912769,0.589492 1.7842151,0.623743 2.7777974,0.375279 0.9553792,-0.44042 2.0942104,-0.606317 3.0559286,-0.07975 0.9566571,0.429062 1.9815791,0.09313 2.8934291,-0.263824 1.038124,-0.339466 1.95525,0.382078 2.955963,0.461915 1.087184,0.105691 2.019821,-0.784126 3.121615,-0.493622 0.55673,-0.01509 1.943197,1.034046 1.977683,0.148315 v -1.471252 c -0.878739,0.05089 -1.592095,-0.588897 -2.468753,-0.540124 z"
|
||||||
|
sodipodi:nodetypes="scccccccccccccccss" /><path
|
||||||
|
id="path2-1"
|
||||||
|
style="fill:#ffffff;stroke-width:0.20758"
|
||||||
|
d="m 18.327285,12.592022 c -1.017125,-0.01824 -1.903328,0.770666 -2.945647,0.500454 -0.952298,-0.271819 -1.950516,-0.765534 -2.949277,-0.338881 -0.938402,0.492101 -2.078868,0.493759 -3.0170249,0 C 8.4157578,12.326791 7.4164573,12.820125 6.4634104,13.092476 5.2611421,13.38732 4.2317909,12.331708 3.029663,12.633981 2.238896,12.882115 1.0534822,13.1883 1.0534822,13.1883 v 1.764949 c 1.0226762,0.01947 1.9128198,-0.776355 2.9601398,-0.498166 1.4912769,0.589492 1.7842151,0.623743 2.7777974,0.375279 0.9553792,-0.44042 2.0942104,-0.606317 3.0559286,-0.07975 0.956657,0.429062 1.981579,0.09313 2.893429,-0.263824 1.038124,-0.339466 1.95525,0.382078 2.955963,0.461915 1.087184,0.105691 2.019821,-0.784126 3.121615,-0.493622 0.55673,-0.01509 1.943197,1.034046 1.977683,0.148315 v -1.471252 c -0.878739,0.05089 -1.592095,-0.588897 -2.468753,-0.540124 z"
|
||||||
|
sodipodi:nodetypes="scccccccccccccccss" /><path
|
||||||
|
id="path851"
|
||||||
|
style="fill:#ffffff;stroke-width:1.16861"
|
||||||
|
d="m 15.771645,8.3604958 c 0.05505,1.1807818 -1.406378,2.0132882 -2.394197,1.3656158 -1.044532,-0.5537235 -1.017922,-2.2353035 0.04332,-2.7559408 1.018447,-0.5919723 2.378758,0.20782 2.350877,1.390325 z" /><path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.18448px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 4.3145569,12.014368 9.3210561,8.9478742 6.786081,6.2628496 11.908511,3.5970428 c 0.936726,-0.3746046 1.601464,0.5528762 1.096915,1.1662478 L 9.4152098,6.6598661 15.504839,12.51419 c -1.334475,-0.390685 -1.595745,-1.008768 -2.663055,-0.656789 -2.818488,0.929488 -2.219707,0.0047 -4.240291,0.02086 -2.2836952,0.01821 -1.8989609,1.154049 -4.2869361,0.136107 z"
|
||||||
|
id="path2791"
|
||||||
|
sodipodi:nodetypes="cccccccssc" /></svg>
|
||||||
|
After Width: | Height: | Size: 4.5 KiB |
@@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
height="22"
|
||||||
|
width="22"
|
||||||
|
fill="#000000"
|
||||||
|
version="1.0"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 21.84952 21.99934"
|
||||||
|
enable-background="new 0 0 99.316 99.997"
|
||||||
|
xml:space="preserve"
|
||||||
|
id="svg10"
|
||||||
|
sodipodi:docname="ic_activity_swimming_open.svg"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
|
||||||
|
inkscape:export-filename="/home/peter/StudioProjects/OpenTracks/drawable-svg/ic_activity_swimming_open.png"
|
||||||
|
inkscape:export-xdpi="1309.09"
|
||||||
|
inkscape:export-ydpi="1309.09"
|
||||||
|
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:svg="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/"><metadata
|
||||||
|
id="metadata16"><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><defs
|
||||||
|
id="defs14" /><sodipodi:namedview
|
||||||
|
pagecolor="#000000"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1047"
|
||||||
|
id="namedview12"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:pagecheckerboard="false"
|
||||||
|
inkscape:zoom="15.890191"
|
||||||
|
inkscape:cx="10.006173"
|
||||||
|
inkscape:cy="13.719156"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg10"
|
||||||
|
inkscape:document-rotation="0" /><path
|
||||||
|
id="path2"
|
||||||
|
style="fill:#ffffff;stroke-width:0.150857"
|
||||||
|
d="m 2.8183594,17.572266 c -0.1057708,4.65e-4 -0.2130618,0.01356 -0.3222656,0.04102 -0.5746803,0.180329 -1.4355469,0.402344 -1.4355469,0.402344 v 1.28125 c 0.7432174,0.01415 1.3912167,-0.563498 2.1523437,-0.361328 1.0837672,0.428407 1.295504,0.454005 2.0175782,0.273437 0.6943098,-0.32007 1.5217861,-0.441266 2.2207031,-0.05859 0.6952388,0.311815 1.4408397,0.06801 2.1035156,-0.191407 0.7544435,-0.246702 1.4211805,0.277917 2.1484375,0.335938 0.621051,-0.0088 1.351954,-0.399393 1.818402,-0.396552 0.536698,0.02254 1.051376,0.234242 1.498081,0.382763 0.357762,0.07663 0.717881,0.02104 0.970698,-0.07223 0.717277,-0.264623 1.521787,-0.441266 2.220704,-0.05859 0.695237,0.311815 1.440839,0.06801 2.103515,-0.191407 0.229629,-0.07509 0.450663,-0.07784 0.667969,-0.04492 v -1.314453 c -0.295925,-0.04096 -0.594072,-0.02791 -0.892578,0.09961 -0.681973,0.357628 -1.511565,0.358833 -2.19336,0 -0.726431,-0.310175 -1.451915,0.04817 -2.144531,0.246093 -0.116646,0.02861 -0.230986,0.0388 -0.34375,0.03711 v -0.0078 c -0.304634,0.02335 -0.610512,-0.122847 -0.878909,-0.189453 -1.061726,-0.598921 -2.285933,0.148857 -3.056646,0.16011 -0.510364,-0.111475 -1.41674,-0.556159 -2.1425779,-0.246093 -0.6819724,0.357628 -1.5115649,0.358833 -2.1933593,0 C 6.410287,17.389044 5.6848033,17.747388 4.9921875,17.945312 4.2276707,18.132803 3.558755,17.569011 2.8183594,17.572266 Z"
|
||||||
|
transform="matrix(0.99997,0,0,0.99997,-0.07491,0)"
|
||||||
|
sodipodi:nodetypes="sccccccccccsccccccccccccccs" /><path
|
||||||
|
id="path2-1-1"
|
||||||
|
style="fill:#ffffff;stroke-width:0.150857"
|
||||||
|
d="m 10.229667,15.445213 c -0.2340521,-0.01177 -0.6643302,0.02851 -0.8995889,0.129006 -0.6819724,0.357628 -1.5115649,0.358834 -2.1933593,0 C 6.410287,15.264044 5.6848033,15.622386 4.9921875,15.820312 4.1184541,16.034604 3.3697256,15.266655 2.4960938,15.486328 1.9214135,15.666657 1.0605469,15.890625 1.0605469,15.890625 v 1.28125 c 0.7432175,0.01415 1.3912167,-0.563498 2.1523437,-0.361328 1.0837672,0.428406 1.2955041,0.454006 2.0175782,0.273437 0.6943098,-0.320069 1.5217861,-0.441275 2.2207031,-0.05859 0.3325161,0.149133 0.6767832,0.169105 1.0175781,0.123047 1.1763193,-0.377141 1.78456,-0.510947 3.130219,0.05666 0.64547,0.05184 1.34431,-0.445591 2.223297,-0.423842 0.264657,-0.01332 1.092167,0.246652 1.478515,0.365234 h 0.002 c 0.560757,0.08029 1.135035,-0.115511 1.658204,-0.320312 0.754443,-0.246704 1.42118,0.277917 2.148437,0.335937 0.679991,0.06611 1.277834,-0.402757 1.941406,-0.40039 v -1.3125 c -0.0096,3.1e-4 -0.01967,-5.36e-4 -0.0293,0 -0.739183,-0.01326 -1.383132,0.559654 -2.140625,0.363281 -0.69207,-0.197542 -1.41674,-0.556158 -2.142578,-0.246094 -1.655465,0.798879 -2.131536,-0.136064 -3.123047,-0.109375 -0.566651,-0.01017 -1.078155,0.324314 -1.626953,0.392578 -0.768304,0.02005 -1.124822,-0.242268 -1.758614,-0.404396 z"
|
||||||
|
transform="matrix(0.99997,0,0,0.99997,-0.07491,0)"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccccccccccc" /><path
|
||||||
|
id="path851"
|
||||||
|
style="fill:#ffffff;stroke-width:0.849248"
|
||||||
|
d="m 11.681761,12.380821 c 0.04001,0.858093 -1.022037,1.463089 -1.7399012,0.992415 -0.759078,-0.4024 -0.73974,-1.624431 0.03148,-2.002787 0.7401222,-0.430195 1.7286822,0.151027 1.7084202,1.010372 z" /><path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.860781px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 3.355712,15.036148 3.6383028,-2.22847 -1.842207,-1.95125 3.722552,-1.9372846 c 0.680734,-0.2722312 1.1638102,0.4017839 0.797146,0.8475309 l -2.609068,1.3782717 4.4254312,4.254431 c -0.969784,-0.283917 -1.159653,-0.733088 -1.9352852,-0.477299 -2.04824,0.675474 -1.613096,0.0034 -3.081487,0.01516 -1.659598,0.01323 -1.380005,0.838666 -3.1153848,0.09891 z"
|
||||||
|
id="path2791"
|
||||||
|
sodipodi:nodetypes="cccccccssc" /><path
|
||||||
|
id="rect4320"
|
||||||
|
style="fill:#ffffff;stroke-width:1.00154;stroke-linecap:square;paint-order:markers fill stroke"
|
||||||
|
d="m 21.108524,13.306347 c -0.260342,0.07218 -0.504886,-0.363252 -0.886457,-0.333843 -0.682913,0.05263 -0.688525,0.273741 -1.170401,0.333103 -0.56376,-0.01179 -0.705141,-0.39106 -1.323093,-0.385461 -0.797244,0.05005 -0.816589,0.344784 -1.506419,0.327831 -0.635156,-0.006 -0.584758,-0.400757 -1.137589,-0.37363 -0.445887,0 -0.423469,0.363096 -1.030167,0.33682 0.804394,-1.992062 7.313411,-2.472785 7.054126,0.09518 z"
|
||||||
|
sodipodi:nodetypes="cscccccc" /><path
|
||||||
|
id="rect4573"
|
||||||
|
style="fill:#ffffff;stroke-width:1.00154;stroke-linecap:square;paint-order:markers fill stroke"
|
||||||
|
d="m 15.952342,6.3416747 0.804782,0.00553 c 0.791609,0.9558102 1.568049,2.3417023 2.288114,5.3258424 l -1.791332,0.368162 c 0.0085,-1.595974 -0.327662,-3.5171502 -1.301564,-5.6995303 z"
|
||||||
|
sodipodi:nodetypes="ccccc" /><path
|
||||||
|
id="rect5178"
|
||||||
|
style="fill:#ffffff;stroke-width:1.00154;stroke-linecap:square;paint-order:markers fill stroke"
|
||||||
|
d="M 15.714534,5.7993213 16.460602,5.694421 C 17.892566,5.5299173 18.930384,6.2178215 19.826278,7.1622728 18.315795,6.5191329 17.758674,6.2722082 16.194793,6.4666796 14.820535,6.8297473 13.804944,7.2159692 13.25106,7.9257197 13.396619,7.3313592 13.938011,6.4826988 15.714534,5.7993213 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" /><path
|
||||||
|
id="rect5178-8"
|
||||||
|
style="fill:#ffffff;stroke-width:0.961457;stroke-linecap:square;paint-order:markers fill stroke"
|
||||||
|
d="m 16.165622,5.4722594 c -0.08973,0.080465 -0.17851,0.1681115 -0.26532,0.2648771 l -0.0964,0.1131325 0.390891,0.6164106 C 17.150623,5.4034465 17.686156,5.2561052 19.060064,4.8593949 18.032481,4.6520987 17.033002,4.6944293 16.165622,5.4722594 Z" /><path
|
||||||
|
id="rect5178-5"
|
||||||
|
style="fill:#ffffff;stroke-width:0.928756;stroke-linecap:square;paint-order:markers fill stroke"
|
||||||
|
d="M 16.314771,5.73079 C 16.294181,5.717361 16.273991,5.703711 16.252891,5.690635 L 15.674258,5.3521611 c -1.591186,-0.4463567 -2.388606,-0.054483 -2.781886,0.3520817 0.738652,-0.2696642 1.645743,-0.011014 2.795776,0.4705547 0.09419,0.057052 0.180726,0.1118664 0.264194,0.1668772 z" /></svg>
|
||||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,469 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
sodipodi:docname="ic_activity_workout.01.svg"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
|
||||||
|
id="svg8"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 5.8208333 5.8208333"
|
||||||
|
height="22"
|
||||||
|
width="22"
|
||||||
|
inkscape:export-filename="/home/peter/StudioProjects/OpenTracks/drawable-svg/ic_activity_workout.01.png"
|
||||||
|
inkscape:export-xdpi="1309.09"
|
||||||
|
inkscape:export-ydpi="1309.09"
|
||||||
|
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:svg="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
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect3162"
|
||||||
|
effect="spiro" />
|
||||||
|
<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,1.9999999,0,1 @ F,0,0,1,0,2.0000001,0,1"
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect3149"
|
||||||
|
effect="fillet_chamfer" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="fillet_chamfer"
|
||||||
|
id="path-effect2514"
|
||||||
|
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,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"
|
||||||
|
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" />
|
||||||
|
<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.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"
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect950"
|
||||||
|
effect="fillet_chamfer" />
|
||||||
|
<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.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"
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect946"
|
||||||
|
effect="fillet_chamfer" />
|
||||||
|
<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,1,1,0,2.00309,0,1 @ F,0,0,1,0,2.00309,0,1"
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect918"
|
||||||
|
effect="fillet_chamfer" />
|
||||||
|
<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,7.0000002,0,1 @ F,0,0,1,0,0,0,1"
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect912"
|
||||||
|
effect="fillet_chamfer" />
|
||||||
|
<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.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"
|
||||||
|
lpeversion="1"
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect894"
|
||||||
|
effect="fillet_chamfer" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-height="1047"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:snap-text-baseline="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:snap-object-midpoints="true"
|
||||||
|
inkscape:snap-midpoints="true"
|
||||||
|
inkscape:snap-smooth-nodes="true"
|
||||||
|
inkscape:snap-intersection-paths="true"
|
||||||
|
inkscape:object-paths="true"
|
||||||
|
inkscape:snap-bbox-midpoints="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:cy="10.326952"
|
||||||
|
inkscape:cx="15.790447"
|
||||||
|
inkscape:zoom="31.664715"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#232629"
|
||||||
|
id="base"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:snap-grids="false">
|
||||||
|
<inkscape:grid
|
||||||
|
dotted="true"
|
||||||
|
empspacing="22"
|
||||||
|
id="grid833"
|
||||||
|
type="xygrid" />
|
||||||
|
<inkscape:grid
|
||||||
|
originy="0.26458333"
|
||||||
|
originx="0.26458333"
|
||||||
|
spacingx="1.0583333"
|
||||||
|
spacingy="1.0583333"
|
||||||
|
empspacing="1"
|
||||||
|
id="grid835"
|
||||||
|
type="xygrid" />
|
||||||
|
<sodipodi:guide
|
||||||
|
inkscape:color="rgb(0,0,255)"
|
||||||
|
inkscape:locked="false"
|
||||||
|
inkscape:label=""
|
||||||
|
id="guide887"
|
||||||
|
orientation="0.96592583,0.25881905"
|
||||||
|
position="4.195,4.2333333" />
|
||||||
|
<sodipodi:guide
|
||||||
|
id="guide900"
|
||||||
|
orientation="0,-1"
|
||||||
|
position="0.26458333,1.9843751" />
|
||||||
|
</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
|
||||||
|
id="layer1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
inkscape:label="Layer 1">
|
||||||
|
<g
|
||||||
|
transform="matrix(0.38576851,0,0,0.38576851,152.56385,-12.494408)"
|
||||||
|
id="g954">
|
||||||
|
<rect
|
||||||
|
style="fill:#cacaca;fill-opacity:1;stroke-width:14.6855;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect919"
|
||||||
|
width="68.791664"
|
||||||
|
height="79.375"
|
||||||
|
x="-357.1875"
|
||||||
|
y="-7.9375" />
|
||||||
|
<rect
|
||||||
|
style="fill:#e74c3c;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect851"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-354.54169"
|
||||||
|
y="-5.2916665" />
|
||||||
|
<rect
|
||||||
|
y="-5.2916665"
|
||||||
|
x="-343.95834"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect853"
|
||||||
|
style="fill:#ed1515;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#f47750;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect855"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-333.375"
|
||||||
|
y="-5.2916665" />
|
||||||
|
<rect
|
||||||
|
y="-5.2916665"
|
||||||
|
x="-322.79169"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect857"
|
||||||
|
style="fill:#fdbc4b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#c9ce3b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect859"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-312.20834"
|
||||||
|
y="-5.2916665" />
|
||||||
|
<rect
|
||||||
|
y="5.291667"
|
||||||
|
x="-354.54169"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect861"
|
||||||
|
style="fill:#da4453;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#c0392b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect863"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-343.95834"
|
||||||
|
y="5.291667" />
|
||||||
|
<rect
|
||||||
|
y="5.291667"
|
||||||
|
x="-333.375"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect865"
|
||||||
|
style="fill:#d35400;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#f67400;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect867"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-322.79169"
|
||||||
|
y="5.291667" />
|
||||||
|
<rect
|
||||||
|
y="5.291667"
|
||||||
|
x="-312.20834"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect869"
|
||||||
|
style="fill:#f39c1f;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
y="21.166666"
|
||||||
|
x="-354.54169"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect871"
|
||||||
|
style="fill:#1cdc9a;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#2ecc71;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect873"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-343.95834"
|
||||||
|
y="21.166666" />
|
||||||
|
<rect
|
||||||
|
y="21.166666"
|
||||||
|
x="-333.375"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect875"
|
||||||
|
style="fill:#1abc9c;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#3498db;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect877"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-322.79169"
|
||||||
|
y="21.166666" />
|
||||||
|
<rect
|
||||||
|
y="21.166666"
|
||||||
|
x="-312.20834"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect879"
|
||||||
|
style="fill:#3daee9;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#10d116;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect881"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-354.54169"
|
||||||
|
y="31.75" />
|
||||||
|
<rect
|
||||||
|
y="31.75"
|
||||||
|
x="-343.95834"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect883"
|
||||||
|
style="fill:#27ae60;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#16a085;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect885"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-333.375"
|
||||||
|
y="31.75" />
|
||||||
|
<rect
|
||||||
|
y="31.75"
|
||||||
|
x="-322.79169"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect887"
|
||||||
|
style="fill:#2980b9;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#1d99f3;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect889"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-312.20834"
|
||||||
|
y="31.75" />
|
||||||
|
<rect
|
||||||
|
style="fill:#9b59b6;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect891"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-301.625"
|
||||||
|
y="21.166666" />
|
||||||
|
<rect
|
||||||
|
y="31.75"
|
||||||
|
x="-301.625"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect893"
|
||||||
|
style="fill:#8e44ad;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#34495e;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect895"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-354.54166"
|
||||||
|
y="47.625" />
|
||||||
|
<rect
|
||||||
|
y="47.625"
|
||||||
|
x="-343.95831"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect897"
|
||||||
|
style="fill:#31363b;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#7f8c8d;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect899"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-333.37497"
|
||||||
|
y="47.625" />
|
||||||
|
<rect
|
||||||
|
y="47.625"
|
||||||
|
x="-322.79166"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect901"
|
||||||
|
style="fill:#bdc3c7;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#fcfcfc;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect903"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-312.20831"
|
||||||
|
y="47.625" />
|
||||||
|
<rect
|
||||||
|
y="58.208336"
|
||||||
|
x="-354.54166"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect905"
|
||||||
|
style="fill:#2c3e50;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#232629;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect907"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-343.95831"
|
||||||
|
y="58.208336" />
|
||||||
|
<rect
|
||||||
|
y="58.208336"
|
||||||
|
x="-333.37497"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect909"
|
||||||
|
style="fill:#4d4d4d;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
<rect
|
||||||
|
style="fill:#95a5a6;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552"
|
||||||
|
id="rect911"
|
||||||
|
width="10.583333"
|
||||||
|
height="10.583333"
|
||||||
|
x="-322.79166"
|
||||||
|
y="58.208336" />
|
||||||
|
<rect
|
||||||
|
y="58.208336"
|
||||||
|
x="-312.20831"
|
||||||
|
height="10.583333"
|
||||||
|
width="10.583333"
|
||||||
|
id="rect913"
|
||||||
|
style="fill:#eff0f1;fill-opacity:1;stroke-width:14.955;stroke-linecap:square;stroke-linejoin:round;stroke-dashoffset:531.552" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="path17"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.730205;stroke-opacity:1"
|
||||||
|
d="m 12.521484,5.0957031 c -0.795342,0 -1.447265,0.6634257 -1.447265,1.4746094 0,0.811183 0.651923,1.4746094 1.447265,1.4746094 0.795342,0 1.445313,-0.663426 1.445313,-1.4746094 0,-0.8111837 -0.649971,-1.4746094 -1.445313,-1.4746094 z m 5.697266,2.2871094 c -1.005293,9.03e-5 -1.820222,0.8150191 -1.820312,1.8203125 0.001,0.2581612 0.02839,0.6283924 0.303378,0.93547 L 15.712713,10.886411 13.488221,8.9477292 10.263672,8.5957031 7.5078513,10.338038 5.7695312,12.576172 c -0.3754732,0.661347 0.1816517,1.249724 0.7773438,0.966797 l 1.7128929,-2.075723 1.9003931,-1.220112 -0.5761766,4.110288 -2.5878906,5.929687 1.484375,-0.0293 c 0.4801983,-0.907334 2.5996092,-5.441406 2.5996092,-5.441406 l 2.054688,0.941406 v 4.423829 h 1.445312 v -5.53125 L 12.75,13.876953 l 0.650391,-3.398437 2.285156,2.103515 1.747452,-1.734477 c 0.31097,0.238627 0.542791,0.17537 0.785751,0.175884 1.005294,-9e-5 1.820222,-0.815019 1.820312,-1.820313 -9e-5,-1.0052934 -0.815019,-1.8202222 -1.820312,-1.8203125 z m 0.0059,1.3535156 c 0.274357,9.402e-4 0.496232,0.2236881 0.496094,0.4980469 1.38e-4,0.2743588 -0.221737,0.4971067 -0.496094,0.4980469 C 17.94953,9.7325585 17.726466,9.5094953 17.726603,9.234375 17.726466,8.9592547 17.94953,8.7361915 18.22465,8.7363281 Z"
|
||||||
|
transform="scale(0.26458333)"
|
||||||
|
sodipodi:nodetypes="sssssccccccccccccccccccccccccccccccc" />
|
||||||
|
<path
|
||||||
|
id="path9403"
|
||||||
|
style="fill:#ffffff;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers fill stroke"
|
||||||
|
d="M 1.0131059,0.53415337 C 0.73729957,0.54114168 0.64785326,0.76400686 0.64775351,1.04575 c 0.001003,0.049428 0.006811,0.095893 0.0170532,0.1405599 H 1.1996578 L 1.3303992,1.4400412 1.6714636,0.85558076 1.9071081,1.1801088 2.1840938,1.1826926 C 2.1968962,1.1377378 2.2034247,1.0922518 2.2032141,1.04575 2.2031128,0.75953474 2.1266608,0.53477144 1.8404456,0.53467013 1.540136,0.53761574 1.5284374,0.67900891 1.4327185,0.76204643 1.3421819,0.69057893 1.2614053,0.53055962 1.0265417,0.53415337 c -0.00447,1.59e-6 -0.00906,-1.1091e-4 -0.013436,0 z M 2.1840938,1.1826926 c -0.016723,0.058723 -0.044375,0.116296 -0.079582,0.173116 l 0.4873088,-0.00258 V 1.1863099 Z M 2.1045121,1.3558086 1.7965206,1.3573589 1.6740474,1.16874 1.3009436,1.7361472 1.0828691,1.3532248 H 0.7273352 C 0.8490025,1.5865985 1.0981629,1.7800149 1.3903438,2.0580913 1.669028,1.8167708 1.9577231,1.5927143 2.1045121,1.3558086 Z M 0.7273352,1.3532248 C 0.69965645,1.3001334 0.67827264,1.2450376 0.66480673,1.1863099 H 0.25914674 v 0.1669149 z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
height="125"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 125 125"
|
||||||
|
width="125"
|
||||||
|
sodipodi:docname="ic_button_done.svg"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1011"
|
||||||
|
id="namedview9"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.2457711"
|
||||||
|
inkscape:cx="104.26334"
|
||||||
|
inkscape:cy="71.321036"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<defs
|
||||||
|
id="defs6" />
|
||||||
|
<circle
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#ff6d00;stroke-width:5.03185;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
cx="62.5"
|
||||||
|
cy="62.5"
|
||||||
|
id="path12"
|
||||||
|
r="59.984074" />
|
||||||
|
<metadata
|
||||||
|
id="metadata8">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:title></dc:title>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<circle
|
||||||
|
style="fill:#ff6d00;fill-opacity:1;stroke:none;stroke-width:6.91728;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
cx="62.5"
|
||||||
|
cy="62.5"
|
||||||
|
id="path835"
|
||||||
|
r="50" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:6.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 38.620483,63.865643 52.899055,78.144215 86.379516,44.663754"
|
||||||
|
id="path1000" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
height="125"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 125 125"
|
||||||
|
width="125"
|
||||||
|
sodipodi:docname="ic_button_resume.svg"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1011"
|
||||||
|
id="namedview9"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="3.176"
|
||||||
|
inkscape:cx="85.245821"
|
||||||
|
inkscape:cy="70.9649"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<defs
|
||||||
|
id="defs6" />
|
||||||
|
<circle
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#ff6d00;stroke-width:5.03185;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
cx="62.5"
|
||||||
|
cy="62.5"
|
||||||
|
id="path12"
|
||||||
|
r="59.984074" />
|
||||||
|
<circle
|
||||||
|
style="fill:#ff6d00;fill-opacity:1;stroke:none;stroke-width:6.91728;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
cx="62.5"
|
||||||
|
cy="62.5"
|
||||||
|
id="path835"
|
||||||
|
r="50" />
|
||||||
|
<metadata
|
||||||
|
id="metadata8">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:title></dc:title>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<path
|
||||||
|
sodipodi:type="star"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.67087;stroke-linecap:round;stroke-opacity:1"
|
||||||
|
id="path837"
|
||||||
|
sodipodi:sides="3"
|
||||||
|
sodipodi:cx="61.453945"
|
||||||
|
sodipodi:cy="62.5"
|
||||||
|
sodipodi:r1="26.146271"
|
||||||
|
sodipodi:r2="13.073136"
|
||||||
|
sodipodi:arg1="0"
|
||||||
|
sodipodi:arg2="1.0471976"
|
||||||
|
inkscape:flatsided="false"
|
||||||
|
inkscape:rounded="0"
|
||||||
|
inkscape:randomized="0"
|
||||||
|
d="M 87.600216,62.5 67.990513,73.821668 48.38081,85.143335 l -10e-7,-22.643336 10e-7,-22.643334 19.609704,11.321667 z"
|
||||||
|
inkscape:transform-center-x="-6.5365678" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
v3.25.0: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- GPS is now optional incl. GPS disabled warning
|
||||||
|
- PublicAPI: other applications can now receive recorded data if they start a recording (implemented for Gadgetbridge)
|
||||||
|
- New activities: swimming, swimming open, and workout
|
||||||
|
- Removed share pic functionality
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- UI: speed/elevation where jumping between 0.0 and the actual value
|
||||||
|
- Tracks with emojis can be exported
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
v3.25.1: OpenTracks
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Automatic export: hopefully prevent silent failures
|
||||||
|
- Automatic export: prevent crash
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
v3.26.0: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Voice announcements are configurable
|
||||||
|
- Voice announcements of heart rate
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Crash due to race condition
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v3.26.1: OpenTracks
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Contextual action bar didn't overlap toolbar in night theme.
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
v3.27.0: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Voice annoucements: add 100m, 200m, and 500m
|
||||||
|
- Interval: add 100m and 500m
|
||||||
|
- Clock shows now also seconds
|
||||||
|
- GPX, KML, KMZ: export and import horizontal accuracy
|
||||||
|
- GPX: export cumulative distance via clustrust extension
|
||||||
|
- CSV: basic export (TrackPoints only; not for backup)
|
||||||
|
- Workaround for Tickr X as it reports SPM instead of RPM
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
- Adhere to recording distance interval;
|
||||||
|
TrackPoints were recorded although they were too close
|
||||||
|
- Prevent crash on stop recording (race condition)
|
||||||
|
- Prevent crash when using multiple sensors (race condition)
|
||||||
|
- Prevent crash when opening OpenTracks via notification
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
v3.28.0: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Configurable filename for export/sharing (default: {starttime}_{name}.{suffix})
|
||||||
|
- Vertical GPS accuracy is now stored and can be exported/imported
|
||||||
|
(API level >= 26).
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
v4.0.0: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- UI refactoring with a Bottom App Bar.
|
||||||
|
- Public API: implemented STOP properly.
|
||||||
|
- Cleanup: use explicit preference identifiers for TrackFileFormat.
|
||||||
|
- Improvements on BLE handler.
|
||||||
|
- Add exception handler and show error activity so users can send reports about bugs.
|
||||||
|
- Android 13: launcher icon, provide a themed icon.
|
||||||
|
- Change track title capitalization to sentences.
|
||||||
|
- Translations updated.
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Sharing track added file suffix twice.
|
||||||
|
- Unit system not loaded correctly.
|
||||||
|
- File format template was not loaded (NPE).
|
||||||
|
- Public API: respect post-workout export.
|
||||||
|
|
||||||
|
Developer:
|
||||||
|
- Move to androix.constraintlayout.
|
||||||
|
- UI tests slightly more robust.
|
||||||
|
- Refactor permission request.
|
||||||
|
- Upgrade to gradlew 7.4.2
|
||||||
|
- Bump material from 1.5.0 to 1.6.0
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
v4.0.1: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Voice announcements are now configurable
|
||||||
|
- Fullscreen mode now also hides Android's navigation bar
|
||||||
|
- Connection to BLE sensors should now be faster
|
||||||
|
- Allow to reset settings while recording
|
||||||
|
- Allow to change import/export settings while recording
|
||||||
|
- KML/KMZ: do not use icons to be loaded from Google
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- TrackStoppedActivity now works on smaller screens
|
||||||
|
- Requests permissions on track list
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
v4.0.2: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Add nautical miles
|
||||||
|
- Settings can be reset while recording
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Voice announcement rounding
|
||||||
|
- Chart: elevation was weirdly smoothed
|
||||||
|
- Export was not checking if file exists
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
v4.0.3: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Max. speed as reported by sensor (GPS or BLE)
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Prevent crash if OSM Dashboard is not installed
|
||||||
|
- GPX track export: do not export empty track segments
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
v4.0.4: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- Store BLE sensor data even without distance (every 10s)
|
||||||
|
- Public API: allows setting name, category, and description
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Crash when taking a picture and rotating the phone
|
||||||
|
-
|
||||||
|
|
||||||
|
Developer:
|
||||||
|
- Target SDK 33
|
||||||
|
- Barometer uses interval of 5s
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
v4.0.5: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- PlayStore relase get's another logo
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Interval list shows "-" if gain/loss is not present
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
v4.0.6: OpenTracks
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- EGM2008 offset computed wrong for negative longitudes
|
||||||
|
- PublicAPI crashed if OpenTracks was in background (API26+)
|
||||||
|
|
||||||
@@ -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
|
||||||
|
Before Width: | Height: | Size: 303 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 574 KiB After Width: | Height: | Size: 560 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 812 KiB |
|
Before Width: | Height: | Size: 456 KiB After Width: | Height: | Size: 462 KiB |
|
Before Width: | Height: | Size: 630 KiB After Width: | Height: | Size: 695 KiB |
|
Before Width: | Height: | Size: 416 KiB After Width: | Height: | Size: 467 KiB |
|
Before Width: | Height: | Size: 508 KiB After Width: | Height: | Size: 509 KiB |
|
Before Width: | Height: | Size: 798 KiB After Width: | Height: | Size: 872 KiB |
@@ -1,11 +1,22 @@
|
|||||||
OpenTracks on spordi jälgimise rakendus, mis austab täielikult teie privaatsust.
|
Spordijälgija, mis austab teie privaatsust.
|
||||||
|
|
||||||
Omadused:
|
Sport ja välitegevused garanteerivad õnnelikkuse, vilumuse ja kindlustunde.
|
||||||
* Spordi jälgimine: jälgige oma spordi- ja vabaõhutegevust.
|
|
||||||
* Fotod ja markerid: märkige jälgimise ajal huvipakkuvad kohad.
|
Väärtusta oma tervist, jälgides on treeninguid.
|
||||||
* Kõrguse suurenemine ja vähenemine: baromeetrilise anduri abil
|
Salvestab kui lähed jooksma või jalutama ja annab teile jalgrattasõiduks suurema ekraani.
|
||||||
* Kõrgus näitab EGM2008 (üle keskmise merepinna); eksporditakse WGS84 kujul.
|
Märgi huvitavad asukohad oma teel, koos piltidega.
|
||||||
* Häälteated
|
Hoia salvestatud statistika analüüsimiseks.
|
||||||
* Toetab Bluetooth LE andureid: südame löögisagedus, kiirus ja distants (jalgrattasõit), takistus (jalgrattasõit) ja jõumõõtja (jalgrattasõit).
|
Jaga ainult neid andmeid, mida soovid, et teised näeksid.
|
||||||
* Andmete eksport: eksportida rajad kas KMZ (sh fotod), KML või GPX kujul.
|
|
||||||
* Interneti-ühendus puudub: Internetti ei kasutata
|
* Häälteated.
|
||||||
|
* Toetab Bluetooth LE andureid: pulss, kiirus, distants (jalgrattasõit), rütm (jalgrattasõit) ja jõumõõtja (jalgrattasõit).
|
||||||
|
* Kõrguse tõus ja langus: baromeetrilise anduri abil.
|
||||||
|
* Kõrgus näitab EGM2008 (üle keskmise merepinna); eksporditakse WGS84-na.
|
||||||
|
* Ekspordit teekond kas KMZ- (koos fotodega), KML- või GPX-vormingus.
|
||||||
|
* Ei vaja internetile ligipääsu ega lisalubasid.
|
||||||
|
* Tume ja hele teema, austab süsteemi sätteid.
|
||||||
|
* Reklaamivaba.
|
||||||
|
|
||||||
|
Vabavara / Avatud Lähtekoodiga Tarkvara
|
||||||
|
mis tähendab, et võite lähtekoodi kasutada, uurida, muuta ja jagada.
|
||||||
|
Litsentsitud Apache 2.0
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Spordijälgija, mis austab täielikult teie privaatsust.
|
Spordijälgija, mis austab teie privaatsust.
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
v3.20.2 : OpenTracks
|
||||||
|
|
||||||
|
Changements :
|
||||||
|
- Le gain et la perte d'altitude sont des entiers au lieu de floats
|
||||||
|
- Demander la permission avant d'utiliser Bluetooth par un message Toast
|
||||||
|
|
||||||
|
Correction d'un bug :
|
||||||
|
- Définir FLAG_IMMUTABLE pour PendingIntents pour éviter un crash sur Android 12
|
||||||
|
- Le capteur de cadence renvoie 0 au lieu de None lorsque l'utilisateur ne pédale pas.
|
||||||
|
- Le capteur de vitesse renvoie 0 au lieu de la dernière vitesse connue quand c'est arrêté
|
||||||
|
- Avec les capteurs, le temps de déplacement s'arrête lorsqu'il n'est pas en mouvement
|
||||||
@@ -7,5 +7,11 @@ Fonctionnalités :
|
|||||||
* Dénivelé positif et négatif: via capteur de pression barométrique
|
* Dénivelé positif et négatif: via capteur de pression barométrique
|
||||||
* Synthèse vocale
|
* 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)
|
* 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
|
* 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
|
* Pas d'accès internet requis : Internet n'est pas nécessaire pour le fonctionnement de l'application
|
||||||
|
* Thème sombre ou claire, avec le respect des paramètres du système
|
||||||
|
* Pas de publicités
|
||||||
|
|
||||||
|
Logiciel Open Source
|
||||||
|
Vous pouvez utiliser, étudier, changer et partager le code source.
|
||||||
|
Licence Apache 2.0
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
OpenTracks - Suivi d'activités sportives respectueux de votre vie privée.
|
Appli de suivi des activités sportives respectueuse de votre vie privée.
|
||||||
|
|||||||
@@ -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.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
OpenTracks
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
v3.18.6: OpenTracks
|
||||||
|
|
||||||
|
Wijzigingen:
|
||||||
|
- "Toon op kaart"-functionaliteit via KML in plaats van KMZ
|
||||||
|
- Spraakaankondigingen bevatten geen app naam
|
||||||
|
- Tijdens opname: hoogtewinst/-verlies wordt elke seconde bijgewerkt
|
||||||
|
- Winkel beschrijvingen vertaald
|
||||||
|
|
||||||
|
Bufixes:
|
||||||
|
- Ongeldige vertalingen van stemboodschappen opgelost
|
||||||
|
|
||||||
|
Ontwikkelaar:
|
||||||
|
- Android12-toestemmingen (BLUETOOTH_SCAN)
|
||||||
|
- Android12-toestemmingen (ACCESS_COARSE_LOCATION)
|
||||||
|
- Assertiviteit voor TrackPoints (testen)
|
||||||
|
- Ongebruikte vertalingen verwijderd
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
v3.19.0: OpenTracks
|
||||||
|
|
||||||
|
Wijzigingen:
|
||||||
|
- Ondersteuning voor Running Speed en Cadence (RCS) sensoren
|
||||||
|
- Bij het delen van een track wordt een afbeelding gemaakt
|
||||||
|
- Niet trillen bij starten van opnemen
|
||||||
|
- Bij opnemen: UI toont recentst ontvangen hoogte, snelheid en richting (ook al is deze niet opgeslagen)
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Berekening van totale tijd mag geen pauze-tijd bevatten (vereist opnieuw importeren)
|
||||||
|
- (opnieuw) Gebruik aangepaste overzichten indien aanwezig
|
||||||
|
|
||||||
|
Ontwikkelaar:
|
||||||
|
- Upgrade naar SDK31 en AGP7.0.0 (vereist JDK11)
|
||||||
|
- TrackRecordingService: sensorfusie (TrackPointCreator) en TrackPoint-opslag (TrackRecordingManager) geëxtraheerd
|
||||||
|
- ExportImportTest is nu deterministisch/constant
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
v3.25.0: OpenTracks
|
||||||
|
|
||||||
|
Veranderingen:
|
||||||
|
- GPS is nu optioneel incl. waarschuwing GPS uitgeschakeld
|
||||||
|
- PublicAPI: andere apps kunnen nu opgenomen gegevens ontvangen als ze een opname starten (geïmplementeerd voor Gadgetbridge)
|
||||||
|
- Nieuwe activiteiten: zwemmen, buiten zwemmen, en training
|
||||||
|
- Verwijderd: share pic functie
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- UI: snelheid/hoogte met wisselingen tussen 0,0 en de werkelijke waarde
|
||||||
|
- Tracks met emoji's kunnen worden geëxporteerd
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
v3.25.1: OpenTracks
|
||||||
|
|
||||||
|
Verbetering:
|
||||||
|
- Automatische export: hopelijk voorkomen van stille mislukkingen
|
||||||
|
- Automatische export: voorkom crash
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
v3.26.0: OpenTracks
|
||||||
|
|
||||||
|
Wijzigingen:
|
||||||
|
- Gesproken meldingen zijn instelbaar
|
||||||
|
- Gesproken meldingen van hartslag
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Crash due to race condition
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v3.26.1: OpenTracks
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Contextuele actie balk overlapte de werkbalk niet in het nachtthema.
|
||||||
@@ -1,11 +1,22 @@
|
|||||||
OpenTracks is een sport tracking applicatie die uw privacy volledig respecteert.
|
Een sport tracker maatje met respect voor privacy.
|
||||||
|
|
||||||
Kenmerken:
|
Sport en outdoor activiteiten geven geluk, vaardigheid en zelfvertrouwen.
|
||||||
* Sport tracking: volg uw sport en outdoor activiteiten
|
|
||||||
* Foto's en markeringen: markeer interessante locaties tijdens het volgen
|
Geef je gezondheid waarde door de conditie bij te houden.
|
||||||
* Hoogte winst en verlies: via barometrische sensor
|
Registreert terwijl je hardloopt of wandelt, en geeft je een fietscomputer met een groter scherm voor op de fiets.
|
||||||
* Hoogte weergegeven in EGM2008 (boven gemiddeld zeeniveau); geëxporteerd als WGS84
|
Markeer interessante locaties langs de weg met foto's.
|
||||||
* Spraakaankondigingen
|
Bewaar geregistreerde statistieken tot in detail voor analyse.
|
||||||
* Ondersteunt Bluetooth LE-sensoren: hartslag, snelheid en afstand (fietsen), cadans (fietsen), en vermogensmeter (fietsen)
|
Deel alleen de gegevens die je aan anderen wilt laten zien.
|
||||||
* Exporteer gegevens: exporteer tracks als KMZ (incl. foto's), KML, of GPX
|
|
||||||
* Geen toegang tot internet: Internet wordt niet gebruikt
|
* Spraakaankondigingen.
|
||||||
|
* Ondersteunt Bluetooth LE sensoren: hartslag, snelheid en afstand (fietsen), cadans (fietsen), en vermogensmeter (fietsen).
|
||||||
|
* Hoogtewinst en -verlies: via barometrische sensor.
|
||||||
|
* Hoogte weergegeven in EGM2008 (boven gemiddeld zeeniveau); geëxporteerd als WGS84.
|
||||||
|
* Gegevens exporteren als tracks, hetzij als KMZ (incl. foto's), KML, of GPX.
|
||||||
|
* Geen Internet toegang of extra toegangsrechten.
|
||||||
|
* Donker en licht thema, met inachtneming van de systeeminstellingen.
|
||||||
|
* Geen advertenties.
|
||||||
|
|
||||||
|
Libre software / Vrije Software / Open Source
|
||||||
|
wat betekent dat je de broncode mag gebruiken, bestuderen, veranderen en delen.
|
||||||
|
Gelicenseerd Apache 2.0
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Een sport tracker die uw privacy volledig respecteert.
|
Een sport tracker maatje met respect voor privacy.
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
v3.27.0: OpenTracks
|
||||||
|
|
||||||
|
Mudanças:
|
||||||
|
- Anúncios de voz: adicionado 100m, 200m e 500m
|
||||||
|
- Intervalo: adicionado 100m e 500m
|
||||||
|
- O relógio mostra agora também os segundos
|
||||||
|
- GPX, KML, KMZ: uma maior precisão horizontal de exportação e importação
|
||||||
|
- GPX: exporta a distância acumulada via extensão clustrust
|
||||||
|
- CSV: exportação básica (apenas TrackPoints; não para backup)
|
||||||
|
- Solução alternativa para o Tickr X, pois relata SPM em vez de RPM
|
||||||
|
|
||||||
|
Correções de bugs:
|
||||||
|
- Foi Aderido ao intervalo de distância de gravação; Os TrackPoints foram registrados embora estivessem muito próximos
|
||||||
|
- Prevenir travamento ao parar de gravar (condição de corrida)
|
||||||
|
- Evite acidentes ao usar vários sensores (condição de corrida)
|
||||||
|
- Evite travamentos ao abrir o OpenTracks via notificação
|
||||||
@@ -1 +1 @@
|
|||||||
Um rastreador esportivo que respeita totalmente a sua privacidade.
|
Um rastreador esportivo que respeita a sua privacidade.
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
v3.26.0: OpenTracks
|
||||||
|
|
||||||
|
Изменения:
|
||||||
|
- Голосовые оповещения теперь настраиваются
|
||||||
|
- Голосовые оповещения о частоте сердечных сокращений
|
||||||
|
|
||||||
|
Исправление:
|
||||||
|
- Вылет из-за состояния гонки
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v3.26.1: OpenTracks
|
||||||
|
|
||||||
|
Исправление:
|
||||||
|
- Контекстная панель действий не перекрывала панель инструментов в ночной теме.
|
||||||
@@ -1,11 +1,22 @@
|
|||||||
OpenTracks - это приложение для спортивного слежения, которое полностью уважает вашу конфиденциальность.
|
Спортивный трекер уважающий вашу приватность.
|
||||||
|
|
||||||
Особенности:
|
Спорт и иные активности дарят радость, мастерство и уверенность в себе.
|
||||||
* Спортивный трекинг: отслеживайте свои занятия спортом и активный отдых.
|
|
||||||
* Фотографии и маркеры: отмечайте интересные места во время отслеживания.
|
Цените свое здоровье, следя за тренировками.
|
||||||
* Набор и потеря высоты: через барометрический датчик.
|
Записывает, как вы бегаете или идете, и предоставляет вам функционал велокомпьютера с большим экраном для езды на велосипеде.
|
||||||
* Высота отображается в EGM2008 (над средним уровнем моря); экспортируется в WGS84.
|
Отмечайте интересные места на своем пути с помощью фотографий.
|
||||||
* Голосовые уведомления
|
Храните записанные данные в мельчайших подробностях для анализа.
|
||||||
* Поддержка датчиков Bluetooth LE: пульс, скорость и расстояние (велоспорт), каденция (велоспорт) и измеритель мощности (велоспорт)
|
Делитесь только теми данными, которые хотите, чтобы другие имели доступ к ним.
|
||||||
* Экспорт данных: экспорт треков в формате KMZ (включая фотографии), KML или GPX.
|
|
||||||
* Нет доступа к Интернету: Интернет не используется
|
* Голосовые уведомления.
|
||||||
|
* Поддержка датчиков Bluetooth LE: пульс, скорость и дистанция (для велосипеда), частота вращения педалей (для велосипеда) и измеритель мощности (для велосипеда).
|
||||||
|
* Набор и потеря высоты: с помощью барометрического датчика.
|
||||||
|
* Высота указана в EGM2008 (над средним уровнем моря); экспортируется как WGS84.
|
||||||
|
* Экспорт данных в виде треков формата KMZ (включая фотографии), KML или GPX.
|
||||||
|
* Не требует соединения с Интернетом и лишних разрешений.
|
||||||
|
* Темная и светлая темы с учетом системных настроек.
|
||||||
|
* Без рекламы.
|
||||||
|
|
||||||
|
Libre software / Свободное программное обеспечение / Открытый исходный код
|
||||||
|
означает, что вы можете использовать, изучать, изменять и делиться исходным кодом.
|
||||||
|
Лицензия Apache 2.0
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Спортивный трекер, который полностью соблюдает вашу конфиденциальность.
|
Спортивный трекер, уважающий вашу конфиденциальность.
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
Gizliliğinize saygı duyan bir spor takipçisi.
|
||||||
|
|
||||||
|
Spor ve açık hava etkinlikleri mutluluk, beceri ve güven verir.
|
||||||
|
|
||||||
|
Antrenmanınızı takip ederek sağlığınıza değer verin.
|
||||||
|
Koşarken veya yürürken kaydeder ve size bisiklet sürmek için daha büyük ekranlı bir bisiklet bilgisayarı verir.
|
||||||
|
Yol boyunca ilginç yerleri resimlerle işaretleyin.
|
||||||
|
Analiz için kaydedilen istatistikleri çok ayrıntılı tutun.
|
||||||
|
Yalnızca başkalarının sahip olmasını istediğiniz verileri paylaşın.
|
||||||
|
|
||||||
|
* Sesli duyurular.
|
||||||
|
* Bluetooth LE sensörlerini destekler: kalp atış hızı, hız ve mesafe (bisiklet), tempo (bisiklet) ve güç ölçer (bisiklet).
|
||||||
|
* İrtifa kazancı ve kaybı: barometrik sensör aracılığıyla.
|
||||||
|
* EGM2008'de gösterilen rakım (ortalama deniz seviyesinin üzerinde); WGS84 olarak dışa aktarılır.
|
||||||
|
* Verileri KMZ (fotoğraflar dahil), KML veya GPX olarak parça olarak dışa aktarın.
|
||||||
|
* İnternet erişimi veya ekstra izin yok.
|
||||||
|
* Sistem ayarlarına uygun olarak koyu ve açık tema.
|
||||||
|
* Reklamsız.
|
||||||
|
|
||||||
|
Libre yazılımı / Özgür Yazılım / Açık Kaynak
|
||||||
|
yani kaynak kodunu kullanabilir, inceleyebilir, değiştirebilir ve paylaşabilirsiniz.
|
||||||
|
Lisanslı Apache 2.0
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Gizliliğinize saygı duyan bir spor takipçisi.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
v3.18.6: OpenTracks
|
||||||
|
|
||||||
|
Thay đổi:
|
||||||
|
- Tính năng "Hiện trên bản đồ" thông qua KML thay vì KMZ
|
||||||
|
- Thông báo bằng giọng nói không bao gồm tên ứng dụng
|
||||||
|
- Trong lúc ghi: Tăng/ giảm độ cao được cập nhật mỗi giây
|
||||||
|
- Thông tin cửa hàng được cập nhật
|
||||||
|
|
||||||
|
Sửa lỗi:
|
||||||
|
- Sửa lỗi các bản dịch Thông báo giọng nói không hợp lệ
|
||||||
|
|
||||||
|
Phát triển:
|
||||||
|
- Quyền Android 12 (BLUETOOTH_SCAN)
|
||||||
|
- Quyền Android 12 (ACCESS_COARSE_LOCATION)
|
||||||
|
- Khẳng định cho TrackPoints (thử nghiệm)
|
||||||
|
- Loại bỏ các bản dịch thừa
|
||||||
@@ -1,11 +1,22 @@
|
|||||||
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ư.
|
OpenTracks là một ứng dụng theo dõi thể theo tôn trọng sự riêng tư của bạn.
|
||||||
|
|
||||||
Tính năng:
|
Thể thao và các hoạt động ngoài trời cho bạn niềm vui, kĩ năng và sự tự tin.
|
||||||
* 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
|
Quý trọng sức khỏe của bạn bằng cách theo dõi tập luyện của bạn.
|
||||||
* Độ cao được và mất: thông qua khí quyển cảm biến
|
Ghi lại quá trình khi bạn chạy bộ hoặc đi bộ, và cho bạn một màn hình xe đạp khi đạp xe.
|
||||||
* Độ cao thể hiện trong EGM2008 (trên mực nước biển); xuất khẩu như WGS84
|
Đánh dấu những địa điểm thú vị trong lúc bạn di chuyển bằng hình ảnh.
|
||||||
* Tiếng nói thông báo
|
Giữ các thống kê chi tiết để phân tích kĩ càng.
|
||||||
* 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)
|
Chỉ chia sẻ những dữ liệu bạn muốn chia sẻ.
|
||||||
* 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
|
* Thông báo bằng giọng nói.
|
||||||
|
* Hỗ trợ Bluetooth LE cảm biến: nhịp tim, tốc độ và khoảng cách (đi xe đạp), nhịp (đi xe đạp), và đồng hồ sức mạnh (đi xe đạp)
|
||||||
|
* Tăng hoặc giảm độ cao: thông qua cảm biến khí áp.
|
||||||
|
* Độ cao được hiển thị dưới EGM2009 (trên nghĩa là trên mực nước biển), KML hoặc GPX.
|
||||||
|
* Xuất dữ liệu được lại dưới KMZ (gồm hình ảnh), KML hoặc GPX.
|
||||||
|
* Không cần Internet hoặc các quyền không cần thiết.
|
||||||
|
* Chế độ tối hoặc sáng, theo cài đặt hệ thống.
|
||||||
|
* Không quảng cáo.
|
||||||
|
|
||||||
|
Phần mềm Libre / Free Software / Mã nguồn mở
|
||||||
|
có nghĩa là bạn có thể dùng, học tập, thay đổi và chia sẻ mã nguồn.
|
||||||
|
Licensed Apache 2.0
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Một môn thể thao theo dõi mà hoàn toàn tôn trọng sự riêng tư.
|
Một người bạn theo dõi mà tôn trọng sự riêng tư của bạn.
|
||||||
|
|||||||
@@ -1,11 +1,22 @@
|
|||||||
OpenTracks是一个完全尊重你的隐私的运动跟踪应用程序。
|
一款尊重您的隐私的运动追踪应用。
|
||||||
|
|
||||||
|
健康幸福的生活总少不了各种运动和户外活动。
|
||||||
|
|
||||||
|
使用本应用,您可以保持对您的训练数据的有效追踪,为您的健康助力。
|
||||||
|
本应用可以在您跑步或散步时记录数据,也可以在您骑车时作为一个大屏幕自行车电脑。
|
||||||
|
您可以为路上的有趣位置创建标记,还可以用图片作为标记。
|
||||||
|
您的数据会被详尽地记录下来,供您查阅分析。
|
||||||
|
您的数据只会分享给您想要分享给的人。
|
||||||
|
|
||||||
特点。
|
|
||||||
* 运动追踪:追踪你的运动和户外活动
|
|
||||||
* 照片和标记:在跟踪时标记有趣的地点
|
|
||||||
* 海拔增减:通过气压传感器
|
|
||||||
* 高度显示为EGM2008(平均海平面以上);导出为WGS84
|
|
||||||
* 语音播报
|
* 语音播报
|
||||||
* 支持蓝牙LE传感器:心率、速度和距离(骑车)、节奏(骑车)和功率计(骑车)。
|
* 支持蓝牙LE传感器:心率、速度和距离(骑车)、踏频(骑车)和功率计(骑车)。
|
||||||
* 导出数据:以KMZ(包括照片)、KML或GPX形式导出轨迹
|
* 海拔增减:通过气压传感器。
|
||||||
* 没有互联网接入。不使用互联网
|
* EGM2008 海拔显示(平均海平面以上);导出为 WGS84。
|
||||||
|
* 导出路线数据,支持 KMZ(包括照片)、KML 和 GPX 格式。
|
||||||
|
* 不需要联网,不需要额外权限。
|
||||||
|
* 深色和浅色主题,跟随系统设置。
|
||||||
|
* 没有广告。
|
||||||
|
|
||||||
|
本应用是开源软件
|
||||||
|
意味着您可以使用、学习、修改和分发本应用的源代码。
|
||||||
|
本应用使用 Apache 2.0 协议发布。
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
一个完全尊重你隐私的运动追踪器。
|
一款尊重您的隐私的运动追踪应用。
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
android.enableJetifier=true
|
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
|
org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=256m
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#Wed Jul 28 23:10:13 CEST 2021
|
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
|
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStorePath=wrapper/dists
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env sh
|
#!/bin/sh
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright 2015 the original author or authors.
|
# Copyright © 2015-2021 the original authors.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
@@ -17,67 +17,101 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
##
|
#
|
||||||
## Gradle start up script for UN*X
|
# Gradle start up script for POSIX generated by Gradle.
|
||||||
##
|
#
|
||||||
|
# Important for running:
|
||||||
|
#
|
||||||
|
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||||
|
# noncompliant, but you have some other compliant shell such as ksh or
|
||||||
|
# bash, then to run this script, type that shell name before the whole
|
||||||
|
# command line, like:
|
||||||
|
#
|
||||||
|
# ksh Gradle
|
||||||
|
#
|
||||||
|
# Busybox and similar reduced shells will NOT work, because this script
|
||||||
|
# requires all of these POSIX shell features:
|
||||||
|
# * functions;
|
||||||
|
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||||
|
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||||
|
# * compound commands having a testable exit status, especially «case»;
|
||||||
|
# * various built-in commands including «command», «set», and «ulimit».
|
||||||
|
#
|
||||||
|
# Important for patching:
|
||||||
|
#
|
||||||
|
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||||
|
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||||
|
#
|
||||||
|
# The "traditional" practice of packing multiple parameters into a
|
||||||
|
# space-separated string is a well documented source of bugs and security
|
||||||
|
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||||
|
# options in "$@", and eventually passing that to Java.
|
||||||
|
#
|
||||||
|
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||||
|
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||||
|
# see the in-line comments for details.
|
||||||
|
#
|
||||||
|
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||||
|
# Darwin, MinGW, and NonStop.
|
||||||
|
#
|
||||||
|
# (3) This script is generated from the Groovy template
|
||||||
|
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||||
|
# within the Gradle project.
|
||||||
|
#
|
||||||
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||||
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Attempt to set APP_HOME
|
# Attempt to set APP_HOME
|
||||||
|
|
||||||
# Resolve links: $0 may be a link
|
# Resolve links: $0 may be a link
|
||||||
PRG="$0"
|
app_path=$0
|
||||||
# Need this for relative symlinks.
|
|
||||||
while [ -h "$PRG" ] ; do
|
# Need this for daisy-chained symlinks.
|
||||||
ls=`ls -ld "$PRG"`
|
while
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
[ -h "$app_path" ]
|
||||||
PRG="$link"
|
do
|
||||||
else
|
ls=$( ls -ld "$app_path" )
|
||||||
PRG=`dirname "$PRG"`"/$link"
|
link=${ls#*' -> '}
|
||||||
fi
|
case $link in #(
|
||||||
|
/*) app_path=$link ;; #(
|
||||||
|
*) app_path=$APP_HOME$link ;;
|
||||||
|
esac
|
||||||
done
|
done
|
||||||
SAVED="`pwd`"
|
|
||||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||||
APP_HOME="`pwd -P`"
|
|
||||||
cd "$SAVED" >/dev/null
|
|
||||||
|
|
||||||
APP_NAME="Gradle"
|
APP_NAME="Gradle"
|
||||||
APP_BASE_NAME=`basename "$0"`
|
APP_BASE_NAME=${0##*/}
|
||||||
|
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD="maximum"
|
MAX_FD=maximum
|
||||||
|
|
||||||
warn () {
|
warn () {
|
||||||
echo "$*"
|
echo "$*"
|
||||||
}
|
} >&2
|
||||||
|
|
||||||
die () {
|
die () {
|
||||||
echo
|
echo
|
||||||
echo "$*"
|
echo "$*"
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
}
|
} >&2
|
||||||
|
|
||||||
# OS specific support (must be 'true' or 'false').
|
# OS specific support (must be 'true' or 'false').
|
||||||
cygwin=false
|
cygwin=false
|
||||||
msys=false
|
msys=false
|
||||||
darwin=false
|
darwin=false
|
||||||
nonstop=false
|
nonstop=false
|
||||||
case "`uname`" in
|
case "$( uname )" in #(
|
||||||
CYGWIN* )
|
CYGWIN* ) cygwin=true ;; #(
|
||||||
cygwin=true
|
Darwin* ) darwin=true ;; #(
|
||||||
;;
|
MSYS* | MINGW* ) msys=true ;; #(
|
||||||
Darwin* )
|
NONSTOP* ) nonstop=true ;;
|
||||||
darwin=true
|
|
||||||
;;
|
|
||||||
MINGW* )
|
|
||||||
msys=true
|
|
||||||
;;
|
|
||||||
NONSTOP* )
|
|
||||||
nonstop=true
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
@@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
|||||||
if [ -n "$JAVA_HOME" ] ; then
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
# IBM's JDK on AIX uses strange locations for the executables
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||||
else
|
else
|
||||||
JAVACMD="$JAVA_HOME/bin/java"
|
JAVACMD=$JAVA_HOME/bin/java
|
||||||
fi
|
fi
|
||||||
if [ ! -x "$JAVACMD" ] ; then
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
@@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the
|
|||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
JAVACMD="java"
|
JAVACMD=java
|
||||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
Please set the JAVA_HOME variable in your environment to match the
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
@@ -106,80 +140,95 @@ location of your Java installation."
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can.
|
# Increase the maximum file descriptors if we can.
|
||||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||||
MAX_FD_LIMIT=`ulimit -H -n`
|
case $MAX_FD in #(
|
||||||
if [ $? -eq 0 ] ; then
|
max*)
|
||||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
MAX_FD="$MAX_FD_LIMIT"
|
warn "Could not query maximum file descriptor limit"
|
||||||
fi
|
esac
|
||||||
ulimit -n $MAX_FD
|
case $MAX_FD in #(
|
||||||
if [ $? -ne 0 ] ; then
|
'' | soft) :;; #(
|
||||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
*)
|
||||||
fi
|
ulimit -n "$MAX_FD" ||
|
||||||
else
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For Darwin, add options to specify how the application appears in the dock
|
|
||||||
if $darwin; then
|
|
||||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
|
||||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
|
||||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
|
||||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
|
||||||
|
|
||||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
|
||||||
|
|
||||||
# We build the pattern for arguments to be converted via cygpath
|
|
||||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
|
||||||
SEP=""
|
|
||||||
for dir in $ROOTDIRSRAW ; do
|
|
||||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
|
||||||
SEP="|"
|
|
||||||
done
|
|
||||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
|
||||||
# Add a user-defined pattern to the cygpath arguments
|
|
||||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
|
||||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
|
||||||
fi
|
|
||||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
|
||||||
i=0
|
|
||||||
for arg in "$@" ; do
|
|
||||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
|
||||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
|
||||||
|
|
||||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
|
||||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
|
||||||
else
|
|
||||||
eval `echo args$i`="\"$arg\""
|
|
||||||
fi
|
|
||||||
i=`expr $i + 1`
|
|
||||||
done
|
|
||||||
case $i in
|
|
||||||
0) set -- ;;
|
|
||||||
1) set -- "$args0" ;;
|
|
||||||
2) set -- "$args0" "$args1" ;;
|
|
||||||
3) set -- "$args0" "$args1" "$args2" ;;
|
|
||||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
|
||||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
|
||||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
|
||||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
|
||||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
|
||||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Escape application args
|
# Collect all arguments for the java command, stacking in reverse order:
|
||||||
save () {
|
# * args from the command line
|
||||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
# * the main class name
|
||||||
echo " "
|
# * -classpath
|
||||||
}
|
# * -D...appname settings
|
||||||
APP_ARGS=`save "$@"`
|
# * --module-path (only if needed)
|
||||||
|
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||||
|
|
||||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
if "$cygwin" || "$msys" ; then
|
||||||
|
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||||
|
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||||
|
|
||||||
|
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||||
|
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
for arg do
|
||||||
|
if
|
||||||
|
case $arg in #(
|
||||||
|
-*) false ;; # don't mess with options #(
|
||||||
|
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||||
|
[ -e "$t" ] ;; #(
|
||||||
|
*) false ;;
|
||||||
|
esac
|
||||||
|
then
|
||||||
|
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||||
|
fi
|
||||||
|
# Roll the args list around exactly as many times as the number of
|
||||||
|
# args, so each arg winds up back in the position where it started, but
|
||||||
|
# possibly modified.
|
||||||
|
#
|
||||||
|
# NB: a `for` loop captures its iteration list before it begins, so
|
||||||
|
# changing the positional parameters here affects neither the number of
|
||||||
|
# iterations, nor the values presented in `arg`.
|
||||||
|
shift # remove old arg
|
||||||
|
set -- "$@" "$arg" # push replacement arg
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Collect all arguments for the java command;
|
||||||
|
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||||
|
# shell script including quotes and variable substitutions, so put them in
|
||||||
|
# double quotes to make sure that they get re-expanded; and
|
||||||
|
# * put everything else in single quotes, so that it's not re-expanded.
|
||||||
|
|
||||||
|
set -- \
|
||||||
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
|
-classpath "$CLASSPATH" \
|
||||||
|
org.gradle.wrapper.GradleWrapperMain \
|
||||||
|
"$@"
|
||||||
|
|
||||||
|
# Use "xargs" to parse quoted args.
|
||||||
|
#
|
||||||
|
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||||
|
#
|
||||||
|
# In Bash we could simply go:
|
||||||
|
#
|
||||||
|
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||||
|
# set -- "${ARGS[@]}" "$@"
|
||||||
|
#
|
||||||
|
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||||
|
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||||
|
# character that might be a shell metacharacter, then use eval to reverse
|
||||||
|
# that process (while maintaining the separation between arguments), and wrap
|
||||||
|
# the whole thing up as a single "set" statement.
|
||||||
|
#
|
||||||
|
# This will of course break if any of these variables contains a newline or
|
||||||
|
# an unmatched quote.
|
||||||
|
#
|
||||||
|
|
||||||
|
eval "set -- $(
|
||||||
|
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||||
|
xargs -n1 |
|
||||||
|
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||||
|
tr '\n' ' '
|
||||||
|
)" '"$@"'
|
||||||
|
|
||||||
exec "$JAVACMD" "$@"
|
exec "$JAVACMD" "$@"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
|||||||
|
|
||||||
set JAVA_EXE=java.exe
|
set JAVA_EXE=java.exe
|
||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if "%ERRORLEVEL%" == "0" goto init
|
if "%ERRORLEVEL%" == "0" goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
@@ -54,7 +54,7 @@ goto fail
|
|||||||
set JAVA_HOME=%JAVA_HOME:"=%
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
if exist "%JAVA_EXE%" goto init
|
if exist "%JAVA_EXE%" goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
@@ -64,21 +64,6 @@ echo location of your Java installation.
|
|||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
:init
|
|
||||||
@rem Get command-line arguments, handling Windows variants
|
|
||||||
|
|
||||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
|
||||||
|
|
||||||
:win9xME_args
|
|
||||||
@rem Slurp the command line arguments.
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
set _SKIP=2
|
|
||||||
|
|
||||||
:win9xME_args_slurp
|
|
||||||
if "x%~1" == "x" goto execute
|
|
||||||
|
|
||||||
set CMD_LINE_ARGS=%*
|
|
||||||
|
|
||||||
:execute
|
:execute
|
||||||
@rem Setup the command line
|
@rem Setup the command line
|
||||||
|
|
||||||
@@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
|||||||
|
|
||||||
|
|
||||||
@rem Execute Gradle
|
@rem Execute Gradle
|
||||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||||
|
|
||||||
:end
|
:end
|
||||||
@rem End local scope for the variables with windows NT shell
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
<issue id="ExtraTranslation" severity="error" />
|
<issue id="ExtraTranslation" severity="error" />
|
||||||
<issue id="GifUsage" severity="error" />
|
<issue id="GifUsage" severity="error" />
|
||||||
<issue id="InconsistentArrays" severity="error" />
|
<issue id="InconsistentArrays" severity="error" />
|
||||||
|
<issue id="MissingQuantity"
|
||||||
|
severity="warning" />
|
||||||
<issue id="MissingTranslation" severity="warning" />
|
<issue id="MissingTranslation" severity="warning" />
|
||||||
<issue id="Proguard" severity="warning" />
|
<issue id="Proguard" severity="warning" />
|
||||||
<issue id="ScrollViewCount" severity="error" />
|
<issue id="ScrollViewCount" severity="error" />
|
||||||
|
|||||||