Compare commits

..

28 Commits

Author SHA1 Message Date
Dennis Guse d9de56be33 Release: v4.14.2 2024-11-20 21:18:43 +01:00
Stephan Paternotte fa1496d130 Translated using Weblate (Dutch)
Currently translated at 100.0% (145 of 145 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2024-11-19 18:38:56 +01:00
Aindriú Mac Giolla Eoin 89059caec2 Translated using Weblate (Irish)
Currently translated at 100.0% (145 of 145 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/ga/
2024-11-19 18:38:55 +01:00
Fjuro 8f1d8e2881 Translated using Weblate (Czech)
Currently translated at 100.0% (145 of 145 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/cs/
2024-11-19 18:38:54 +01:00
gallegonovato 54e456046e Translated using Weblate (Spanish)
Currently translated at 8.2% (12 of 145 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/es/
2024-11-19 18:38:54 +01:00
Dennis Guse 1775c52291 Bugfix: layouts need inset (edge-to-edge)
Part of #2008 and #1955 (Android 15 upgrade).
2024-11-19 18:38:47 +01:00
Dennis Guse b50965f0e8 Bugfix: AppBarLayout needs inset (edge-to-edge)
Part of #2008 and #1955 (Android 15 upgrade).
2024-11-19 18:38:47 +01:00
Dennis Guse d9bba7852c Cleanup: removed unused drawables. 2024-11-19 18:38:47 +01:00
Dennis Guse 5ff91a98f4 Release: v4.14.1 2024-11-17 15:07:14 +01:00
Simon Artus 79f62bd3db Translated using Weblate (French)
Currently translated at 17.3% (25 of 144 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/fr/
2024-11-16 17:00:29 +00:00
Simon Artus c387729301 Translated using Weblate (French)
Currently translated at 92.8% (494 of 532 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/fr/
2024-11-16 17:00:24 +00:00
dependabot[bot] 1094059fb8 Bump com.android.tools:desugar_jdk_libs from 2.1.2 to 2.1.3
Bumps [com.android.tools:desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 2.1.2 to 2.1.3.
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-08 07:32:48 +01:00
dependabot[bot] affb4e1053 Bump androidx.core:core from 1.13.1 to 1.15.0
Bumps androidx.core:core from 1.13.1 to 1.15.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 05:34:40 +01:00
dependabot[bot] 0547a14fbd Bump androidx.constraintlayout:constraintlayout from 2.1.4 to 2.2.0
Bumps androidx.constraintlayout:constraintlayout from 2.1.4 to 2.2.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 05:32:05 +01:00
Dennis Guse 39d6c9a298 Revert "Bump com.android.tools.build:gradle from 8.6.1 to 8.7.1"
This reverts commit 9c51a31b01.
2024-10-19 08:46:55 +02:00
dependabot[bot] 9c51a31b01 Bump com.android.tools.build:gradle from 8.6.1 to 8.7.1
Bumps com.android.tools.build:gradle from 8.6.1 to 8.7.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 19:57:37 +02:00
Dennis Guse f7f58141de Added settings for disabling idle functionality. 2024-10-18 19:57:10 +02:00
Hosted Weblate e46d3cd06c Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/
2024-10-18 17:15:56 +00:00
Aindriú Mac Giolla Eoin a40b87efb6 Translated using Weblate (Irish)
Currently translated at 100.0% (532 of 532 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://hosted.weblate.org/projects/opentracks/opentracks-src-main-res-values-strings-xml-main/ga/
2024-10-18 17:15:53 +00:00
Stephan Paternotte e98dff55ae Translated using Weblate (Dutch)
Currently translated at 100.0% (144 of 144 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/nl/
2024-10-17 04:41:48 +00:00
Fjuro f0b7de4c7c Translated using Weblate (Czech)
Currently translated at 100.0% (144 of 144 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/cs/
2024-10-17 04:41:47 +00:00
Aindriú Mac Giolla Eoin f0f571480b Translated using Weblate (Irish)
Currently translated at 100.0% (144 of 144 strings)

Translation: OpenTracks/App store metadata files
Translate-URL: https://hosted.weblate.org/projects/opentracks/app-store-metadata-files/ga/
2024-10-17 04:41:47 +00:00
dependabot[bot] 072fdb12ed Bump androidx.core:core-location-altitude
Bumps androidx.core:core-location-altitude from 1.0.0-alpha02 to 1.0.0-alpha03.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-17 06:41:42 +02:00
dependabot[bot] fda2fae02b Bump androidx.test:orchestrator from 1.5.0 to 1.5.1
Bumps androidx.test:orchestrator from 1.5.0 to 1.5.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-17 06:38:36 +02:00
dependabot[bot] a09fa93887 Bump org.mockito:mockito-android from 5.14.1 to 5.14.2
Bumps [org.mockito:mockito-android](https://github.com/mockito/mockito) from 5.14.1 to 5.14.2.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.14.1...v5.14.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 07:04:01 +02:00
dependabot[bot] 8f0ed91f80 Bump reactivecircus/android-emulator-runner from 2.32.0 to 2.33.0
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) from 2.32.0 to 2.33.0.
- [Release notes](https://github.com/reactivecircus/android-emulator-runner/releases)
- [Changelog](https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md)
- [Commits](https://github.com/reactivecircus/android-emulator-runner/compare/v2.32.0...v2.33.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 07:05:10 +02:00
Dennis Guse e5a60a8141 Bugfix: UI for adding photos to marker was invisible.
Introduced in 00258fd93e

Fixes #1996.
2024-10-12 20:41:33 +02:00
Dennis Guse c7d3c19919 Revert "Bump com.android.tools.build:gradle from 8.6.1 to 8.7.0"
This reverts commit 95b070bb58.
2024-10-12 13:33:35 +02:00
57 changed files with 400 additions and 174 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
java-version: '17'
- name: run tests
uses: reactivecircus/android-emulator-runner@v2.32.0
uses: reactivecircus/android-emulator-runner@v2.33.0
with:
arch: x86_64
api-level: 34
+9 -9
View File
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.7.0'
classpath 'com.android.tools.build:gradle:8.6.1'
}
}
@@ -64,8 +64,8 @@ android {
defaultConfig {
applicationId "de.dennisguse.opentracks"
versionCode 5889
versionName "v4.14.0"
versionCode 5917
versionName "v4.14.2"
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
@@ -125,25 +125,25 @@ android {
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.2'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.3'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.core:core:1.13.1'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
implementation 'androidx.core:core:1.15.0'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'androidx.mediarouter:mediarouter:1.7.0'
implementation 'androidx.core:core-location-altitude:1.0.0-alpha02'
implementation 'androidx.core:core-location-altitude:1.0.0-alpha03'
androidTestImplementation 'androidx.test:core:1.6.1'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test:rules:1.6.1'
androidTestImplementation 'androidx.test:runner:1.6.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
androidTestImplementation 'org.mockito:mockito-android:5.14.1'
androidTestImplementation 'org.mockito:mockito-android:5.14.2'
androidTestUtil 'androidx.test:orchestrator:1.5.0'
androidTestUtil 'androidx.test:orchestrator:1.5.1'
}
-41
View File
@@ -1,41 +0,0 @@
<?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#"
height="188"
id="svg2"
version="1.1"
viewBox="0 0 78 188"
width="78"
xmlns="http://www.w3.org/2000/svg">
<defs id="defs6" />
<g id="layer1" />
<g
style="display:inline"
id="layer2" />
<metadata id="metadata8">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:title />
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="fill:#cccccc;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:0.7019608"
d="m 1,150 38,37 39,-37 H 50 V 97 L 29,81 v 69 z"
id="path31161" />
<path
style="fill:#cccccc;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:0.7019608"
d="M 29,51 V 70 L 50,86 V 67 Z"
id="path31169" />
<path
style="fill:#cccccc;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:0.7019608"
d="M 29,23 V 40 L 50,56 V 39 Z"
id="path31192" />
<path
style="fill:#cccccc;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:0.7019608"
d="M 29,0 V 14 L 50,29 V 16 Z"
id="path31194" />
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

@@ -0,0 +1,7 @@
v4.14.0: OpenTracks
Změny:
- Použití dat Androidx EGM2008 (namísto přibalení našeho vlastního řešení).
Vývojář:
- Cíl Android 15 / SDK 35
@@ -0,0 +1,7 @@
v4.14.1: OpenTracks
Změny:
- Detekce zastavení může být zakázána
Oprava chyby:
- Rozhraní přidávání obrázků ke značkám bylo skryto
@@ -0,0 +1,8 @@
v4.14.1: OpenTracks
Changes:
- Idle detection can be disabled
Bugfix:
- UI for adding pictures to markers was hidden
@@ -0,0 +1,4 @@
v4.14.2: OpenTracks
Bugfix:
- Android 15: UI is not overflowing anymore (edge-to-edge)
@@ -0,0 +1,7 @@
v4.14.1: OpenTracks
Cambios:
- Detección de inactividad se puede desactivar
Correcciones de errores:
- UI para añadir imágenes a los marcadores estaba oculto
@@ -0,0 +1,15 @@
v3.0.0 : OpenTracks
Première édition de OpenTracks (c'est-à-dire bifurcation du dépôt depuis MyTracks)
Changements:
- Renommé de MyTracks à OpenTracks
- Capteur de fréquence cardiaque par Bluetooth LE ajouté
- Toutes les fonctionnalités nécessitant une connexion Internet ont été enlevées
- Intégration Google Maps enlevée
- Toutes les utilisations des services Google Play ont été enlevées
- Capteurs ANT+ enlevés
- Capteurs Bluetooth classiques enlevés
- Protobuf enlevé
- Estimations de calories et d'activité enlevés
- API Service MyTracks enlevée (c'est-à-dire, pas d'intégration avec les autres applications)
@@ -0,0 +1,17 @@
v3.0.1 : OpenTracks
Changements :
− Partage des marqueurs
− Restructuration des paramètres
− Suppression du bouton retour de la barre d'action
− Exportation : suppression de l'option de paramétrage de la taille de photo
− Exportation : KML est désormais sélectionnable en tant que format
Correction de bogues :
− Le répertoire d'export est désormais /OpenTracks/
− Le mode paysage ne plante plus
− Correction de l'export KML/KMZ
Développeurs :
− Les tests sont exécutables (mais beaucoup d'échecs)
− Activation de l'intégration continue avec TravisCI (pas de tests)
@@ -0,0 +1,14 @@
v3.1.0 : OpenTracks
Changements :
− Ajout de l'option pour montrer les traces sur une application de carte (testé avec OsmAnd et Maps.ME)
− Ajout des statistiques de la trace sans débloquer l'appareil, durant le tracé
− Suppression du mode paysage pour la vue détaillée de la trace (était bogué)
− Suppression des suggestions pour l'historique de recherche
Correction de bogue :
− Demande des permissions de stockage pour tout importer / tout exporter
Développeurs :
− Mise à niveau vers Gradle 5.6
− Ne pas minifier les compilations release
@@ -0,0 +1,16 @@
v3.2.0 : OpenTracks
Changements :
− Suppression Widget
− Introduction des icons material design
− Suppression du snowboard et du ski (besoin de nouveaux icons)
Correction de bogue :
− Correction de la fonctionnalité de recherche
Développeurs :
− Correction de (quelques) cas de test
− Suppression de fonctionnalités parcelable
− Nettoyage majeur et reformatage
− Ne pas utiliser la diffusion pour la communication app widget
− stats_content.xml ne contient pas d'autres fichiers
@@ -0,0 +1,7 @@
v3.2.1 : OpenTracks
Changements :
− Les paramètres sont désormais une page unique
Développeurs :
− Paramètres passé à Androidx compat (utilisation de fragments)
@@ -0,0 +1,13 @@
v3.2.2 : OpenTracks
Changements :
− Suppression des statistiques agrégées
− Migré vers Material Design
Correction de bogues :
− Correction de l'export de données de capteurs
− Correction de l'import de données de capteurs incomplètes
Développeurs :
− Remplacement de la barre d'action par une barre d'outil
− Migré vers androidx appcompat (incluant Material Design)
@@ -0,0 +1,14 @@
v3.2.3 : OpenTracks
Changements :
− Partage : utilise Android Sharesheet
− Partage : partage de plusieurs tracés en tant que fichier individuel
− Utilisation d'Android ShareSheet
− Capteur de fréquence cardiaque (Bluetooth LE) : reconnexion automatique
Correction de bogues :
− Capteur de fréquence cardiaque (Bluetooth LE) : déconnecte correctement
− La fréquence cardiaque n'était pas toujours montrée lors de l'enregistrement
Développeurs :
− Activation des tests d'instrumentation de TravisCI
@@ -0,0 +1,5 @@
v3.2.4 : OpenTracks
Correction de bogue :
− Plantage activité paramètres
Suppression de la possibilité de change la voix / la fréquence de division depuis le menu contextuel
@@ -0,0 +1,15 @@
v3.2.5 : OpenTracks
Changements :
− Désactivation du changement d'activité
− Ajout des permissions pour Android 10 : enregistrement des données de localisation
Correction de bogue :
− Correction des paramètres de réinitialisation
Développeurs :
− Préférences
− Si les paramètres ne peuvent être chargés, remise à zéro de toutes les préférences
− Déplacement de l'accès des préférences vers PreferencesUtil
− Déplacement paramètres défaut préférences de code à XML
− Utilise SummaryProvider
@@ -0,0 +1,8 @@
v3.2.6 : OpenTracks
Changements :
− Moniteur de fréquence cardiaque : scanne les appareils disponibles
− Suppression du raccourci vers les paramètres Bluetooth
Développeurs :
− Préférences : défaut de préférences déplacé de code à XML
@@ -0,0 +1,10 @@
v3.2.7 : OpenTracks
Changements :
− Notification montre la précision GPS
− Montre une notification d'avertissement si la précision GPS descend en dessous du seuil
− Montre toujours les graphiques en fonction du temps, ainsi que par la distance
− Ajout de l'aide (dans les paramètres)
Correction de bogue :
- TrackDetailActivity : désactivation du mode paysage non fonctionnel (temporaire)
@@ -0,0 +1,10 @@
v3.2.8 : OpenTracks
Changements :
− Graphique : zoom en effectuant des gestes
Correction de bogues :
− L'export via KMZ n'exportait pas le nom des images correctement
− Le partage de plusieurs tracés n'incluait pas les fichiers KMZ
− L'IU de MarkerDetailActivity n'était pas montré
− Les paramètres plantaient si les préférences pour le rythme cardiaque n'étaient pas initialisées
@@ -0,0 +1,10 @@
v3.2.9 : OpenTracks
Changements :
− Option pour garder l'écran allumé lors de l'enregistrement
− Marqueurs : suppression des marqueurs divisés
− L'annonceur vocal fonctionne désormais sans la permission READ_PHONE_STATE
Correction de bogues :
− Statistiques : le rythme cardiaque n'était pas montré
− Statistiques : le temps était brièvement remis à 0s
@@ -0,0 +1,11 @@
v3.2.10 : OpenTracks
Changements :
− ChartView n'est désormais plus configurable
− Après redémarrage : suppression du redémarrage automatique d'un enregistrement incomplet
Correction de bogues :
− L'annonceur vocal utilise MAY_DUCK (à nouveau)
− ChartView montre les marqueurs (à nouveau)
− Correction du paysage de recordingLayout pour TrackListActivity
− Demande du comportement de l'API des fichiers obsolètes (nécessaire pour Android 10)
@@ -0,0 +1,12 @@
v3.2.11 : OpenTracks
Bogues :
− La vitesse maximale est égale à la vitesse moyenne
Correction de bogue :
− Plantage lors de la sélection du capteur de rythme cardiaque
Développeurs :
− Remplacement de TabHost par TabsLayout
− Suppression premier point de cheminement spécial
− Suppression des traductions dupliquées
@@ -0,0 +1,12 @@
v3.3.1 : OpenTracks
Changements :
− Android 10 : lors de la désinstallation, permet la conservation des données de l'app
− Introduction de l'API du tableau de bord : l'icon de la carte peut être utilisé pour ouvrir le tracé actuel dans une app externe
(nécessite l'installation d'une app comme OSMDashboard)
Correction de bogue :
− Le label de l'app était cassé (introduit en v3.3.0)
Développeurs :
− La documentation pour l'API du tableau de bord se situe dans README_DEVELOPER.md
@@ -0,0 +1,11 @@
v3.3.2 : OpenTracks
Changements :
− Export : écrase désormais les fichiers
Correction de bogue :
− Supprime toujours la notification d'enregistrement
Développeurs :
− Sur l'API 26+, java.time est utilisé pour analyser et écrire les dates
− Réusinage de TrackRecordingService
@@ -0,0 +1,12 @@
v3.4.0 : OpenTracks
Changements :
− API tableau de bord : plusieurs tracés
− Mise à jour de l'aide
Correction de bogues :
− Correction du plantage lors de la recréation de fragment
− Lors d'une pause : empêche l'app de s'arrêter
Développeurs :
− Activation de tests via CI (Github Actions et TravisCI)
@@ -0,0 +1,14 @@
v3.5.0 : OpenTracks
Changements :
− Marqueur : sélection d'une image depuis la galerie
− Marqueur : partager une image
− Utilisation du nom de la trace lors du partage
− Suppression de l’élévation min et max (était imprécise)
Correction de bogue :
− Les graphiques utilisent les unités et quantités préférées
Développeurs :
− Base de données : suppression des colonnes inutilisées
− Base de données : Ajout d'index
@@ -0,0 +1,10 @@
v3.6.0 : OpenTracks
Changements :
− Les traces arrêtées peuvent être reprises
Correction de bogue :
− L'import de KMZ ne traitait pas les URL de photos correctement
Développeurs :
− Simplification du traitement des données
@@ -0,0 +1,7 @@
v4.14.0 : OpenTracks
Changements :
− Utilisation des données EGM2008 d'Androidx (au lieu d'empaqueter notre propre solution).
Développeurs :
− Cible Android15/ SDK35
@@ -0,0 +1,10 @@
(versionName) : OpenTracks
Changements :
−
Correction de bogue(s) :
−
Développeurs :
−
@@ -0,0 +1,7 @@
v4.14.0: OpenTracks
Athruithe:
- Úsáid sonraí Androidx EGM2008 (in ionad ár réiteach saincheaptha a chuachadh).
Forbróir:
- Dírigh ar Android15/ SDK35
@@ -0,0 +1,7 @@
v4.14.1: OpenTracks
Athruithe:
- Is féidir brath díomhaoin a dhíchumasú
Ceartúchán Bug:
- Bhí Chomhéadain chun pictiúir a chur le marcóirí i bhfolach
@@ -0,0 +1,7 @@
v4.14.0: OpenTracks
Veranderingen:
- Gebruik de EGM2008-gegevens van Androidx (in plaats van onze aangepaste oplossing te bundelen).
Ontwikkelaar:
- Target Android15 / SDK35
@@ -0,0 +1,7 @@
v4.14.1: OpenTracks
Veranderingen:
- Detectie van inactiviteit kan worden uitgeschakeld
Opgeloste probleemoplossing:
- Gebruikersinterface voor het toevoegen van afbeeldingen aan markeringen is verborgen
@@ -170,8 +170,7 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
if (trackPoint.hasLocation() && lastStoredTrackPointWithLocation == null) {
insertTrackPoint(trackPoint, true);
handler.removeCallbacks(ON_IDLE);
handler.postDelayed(ON_IDLE, idleDuration.toMillis());
scheduleNewIdleTimeout();
return true;
}
@@ -199,16 +198,14 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
trackPoint.setType(TrackPoint.Type.SEGMENT_START_AUTOMATIC);
insertTrackPoint(trackPoint, true);
handler.removeCallbacks(ON_IDLE);
handler.postDelayed(ON_IDLE, idleDuration.toMillis());
scheduleNewIdleTimeout();
return true;
}
if (distanceToLastStoredTrackPoint.greaterOrEqualThan(recordingDistanceInterval)) {
insertTrackPoint(trackPoint, false);
handler.removeCallbacks(ON_IDLE);
handler.postDelayed(ON_IDLE, idleDuration.toMillis());
scheduleNewIdleTimeout();
return true;
}
@@ -218,6 +215,15 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
return false;
}
private void scheduleNewIdleTimeout() {
if (idleDuration.isZero()) {
Log.d(TAG, "idle functionality is disabled");
return;
}
handler.removeCallbacks(ON_IDLE);
handler.postDelayed(ON_IDLE, idleDuration.toMillis());
}
TrackStatistics getTrackStatistics() {
return trackStatisticsUpdater == null ? null : trackStatisticsUpdater.getTrackStatistics();
}
@@ -344,17 +344,17 @@ public class PreferencesUtils {
}
static String[] getVoiceAnnouncementFrequencyEntries() {
String[] values = resources.getStringArray(R.array.voice_announcement_frequency_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
if (resources.getString(R.string.announcement_off).equals(values[i])) {
options[i] = resources.getString(R.string.value_off);
String[] entryValues = resources.getStringArray(R.array.voice_announcement_frequency_values);
String[] entries = new String[entryValues.length];
for (int i = 0; i < entryValues.length; i++) {
if (resources.getString(R.string.announcement_off).equals(entryValues[i])) {
entries[i] = resources.getString(R.string.value_off);
} else {
int value = Integer.parseInt(values[i]);
options[i] = resources.getString(R.string.value_integer_minute, Duration.ofSeconds(value).toMinutes());
int value = Integer.parseInt(entryValues[i]);
entries[i] = resources.getString(R.string.value_integer_minute, Duration.ofSeconds(value).toMinutes());
}
}
return options;
return entries;
}
/**
@@ -370,23 +370,23 @@ public class PreferencesUtils {
* @return Result depends on getUnitSystem
*/
static String[] getVoiceAnnouncementDistanceEntries() {
String[] values = resources.getStringArray(R.array.voice_announcement_distance_values);
String[] options = new String[values.length];
String[] entryValues = resources.getStringArray(R.array.voice_announcement_distance_values);
String[] entries = new String[entryValues.length];
UnitSystem unitSystem = getUnitSystem();
DistanceFormatter formatter = DistanceFormatter.Builder()
.setDecimalCount(0)
.setUnit(unitSystem)
.build(resources);
for (int i = 0; i < values.length; i++) {
if (resources.getString(R.string.announcement_off).equals(values[i])) {
options[i] = resources.getString(R.string.value_off);
for (int i = 0; i < entryValues.length; i++) {
if (resources.getString(R.string.announcement_off).equals(entryValues[i])) {
entries[i] = resources.getString(R.string.value_off);
} else {
Distance distance = Distance.one(unitSystem).multipliedBy(Double.parseDouble(values[i]));
options[i] = formatter.formatDistance(distance);
Distance distance = Distance.one(unitSystem).multipliedBy(Double.parseDouble(entryValues[i]));
entries[i] = formatter.formatDistance(distance);
}
}
return options;
return entries;
}
public static float getVoiceSpeedRate() {
@@ -642,7 +642,9 @@ public class PreferencesUtils {
for (int i = 0; i < entryValues.length; i++) {
int value = Integer.parseInt(entryValues[i]);
if (value == idleDurationDefault) {
if (resources.getString(R.string.announcement_off).equals(entryValues[i])) {
entries[i] = resources.getString(R.string.value_off);
} else if (value == idleDurationDefault) {
entries[i] = resources.getString(R.string.value_int_seconds, value);
} else {
entries[i] = value < 60 ? resources.getString(R.string.value_integer_second, value) : resources.getString(R.string.value_integer_minute, value / 60);
@@ -164,6 +164,8 @@ public class MarkerEditActivity extends AbstractActivity {
} else {
loadMarkerData(markerId);
}
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
}
private LiveData<Marker> createNewMarker() {
@@ -1,42 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="188dp"
android:height="78dp"
android:viewportWidth="188"
android:viewportHeight="78">
<path
android:fillAlpha="0.70196078"
android:fillColor="#cccccc"
android:pathData="m37.804,0.731 l-37,38 37,39L37.804,49.731L90.804,49.731L106.804,28.731l-69,0z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.70196078"
android:fillColor="#cccccc"
android:pathData="M136.804,28.731L117.804,28.731L101.804,49.731L120.804,49.731Z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.70196078"
android:fillColor="#cccccc"
android:pathData="M164.804,28.731L147.804,28.731L131.804,49.731L148.804,49.731Z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.70196078"
android:fillColor="#cccccc"
android:pathData="M187.804,28.731L173.804,28.731L158.804,49.731L171.804,49.731Z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
</vector>
-42
View File
@@ -1,42 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="78dp"
android:height="188dp"
android:viewportWidth="78"
android:viewportHeight="188">
<path
android:fillAlpha="0.7019608"
android:fillColor="#cccccc"
android:pathData="m1,150 l38,37 39,-37H50V97L29,81v69z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.7019608"
android:fillColor="#cccccc"
android:pathData="M29,51V70L50,86V67Z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.7019608"
android:fillColor="#cccccc"
android:pathData="M29,23V40L50,56V39Z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.7019608"
android:fillColor="#cccccc"
android:pathData="M29,0V14L50,29V16Z"
android:strokeWidth="1"
android:strokeAlpha="1"
android:strokeColor="#00000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
</vector>
+2 -1
View File
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/track_list_toolbar"
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/export_activity_toolbar"
+2 -1
View File
@@ -5,7 +5,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/show_error_toolbar"
+2 -1
View File
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:layout_width="match_parent"
+2 -1
View File
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/export_activity_toolbar"
+2 -1
View File
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:layout_width="match_parent"
+2 -1
View File
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/import_activity_toolbar"
@@ -20,7 +20,8 @@ limitations under the License.
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/marker_detail_toolbar"
+7 -1
View File
@@ -20,7 +20,8 @@ limitations under the License.
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/marker_edit_toolbar"
@@ -34,6 +35,7 @@ limitations under the License.
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginBottom="102dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<ScrollView style="@style/ScrollView.WithBottomButtons">
@@ -150,4 +152,8 @@ limitations under the License.
</LinearLayout>
</LinearLayout>
<include
android:id="@+id/bottom_app_bar_layout"
layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+2 -1
View File
@@ -20,7 +20,8 @@ limitations under the License.
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.search.SearchBar
android:id="@+id/marker_list_toolbar"
+2 -1
View File
@@ -7,7 +7,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/top_app_bar"
+2 -1
View File
@@ -20,7 +20,8 @@ limitations under the License.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:orientation="vertical"
android:fitsSystemWindows="true">
<include
android:id="@+id/fields"
+2 -1
View File
@@ -20,7 +20,8 @@ limitations under the License.
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.search.SearchBar
android:id="@+id/track_list_toolbar"
+2 -1
View File
@@ -21,7 +21,8 @@ limitations under the License.
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="70dp">
android:paddingBottom="90dp"
android:fitsSystemWindows="true">
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
+2 -1
View File
@@ -9,7 +9,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="90dp">
android:paddingBottom="90dp"
android:fitsSystemWindows="true">
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
+2 -1
View File
@@ -5,7 +5,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:orientation="vertical"
android:fitsSystemWindows="true">
<include
android:id="@+id/loading_layout"
+4
View File
@@ -658,4 +658,8 @@ Si le dispositif GPS signale des données inexactes (par exemple, la localisatio
<string name="settings_announcements_idle_title">En veille</string>
<string name="settings_ui_dynamic_colors_title">Couleurs dynamiques</string>
<string name="permission_recording_failed">OpenTracks a besoin de la permission d\'accéder à votre localisation ainsi qu\'aux appareils à proximité.</string>
<string name="create_marker_error">Impossible de créer un marqueur. Veuillez réessayer.</string>
<string name="power">Puissance</string>
<string name="power_x_watt">Puissance {x, plural, =1 {1 watt} autres {# watt} }</string>
<string name="settings_announcements_lap_power">Puissance par tour</string>
</resources>
+2
View File
@@ -127,7 +127,9 @@
<string name="idle_duration_key" translatable="false">idleSpeedDuration</string>
<string name="idle_duration_default" translatable="false">10</string>
<string name="idle_duration_off" translatable="false">0</string>
<string-array name="idle_duration_values">
<item>@string/idle_duration_off</item>
<item>5</item>
<item>@string/idle_duration_default</item>
<item>15</item>