forked from upstream-mirrors/OpenTracks
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ff91a98f4 | |||
| 79f62bd3db | |||
| c387729301 | |||
| 1094059fb8 | |||
| affb4e1053 | |||
| 0547a14fbd | |||
| 39d6c9a298 | |||
| 9c51a31b01 | |||
| f7f58141de | |||
| e46d3cd06c | |||
| a40b87efb6 | |||
| e98dff55ae | |||
| f0b7de4c7c | |||
| f0f571480b | |||
| 072fdb12ed | |||
| fda2fae02b | |||
| a09fa93887 | |||
| 8f0ed91f80 | |||
| e5a60a8141 | |||
| c7d3c19919 |
@@ -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
@@ -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 5909
|
||||
versionName "v4.14.1"
|
||||
|
||||
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'
|
||||
}
|
||||
|
||||
@@ -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,8 @@
|
||||
v4.14.1: OpenTracks
|
||||
|
||||
Changes:
|
||||
- Idle detection can be disabled
|
||||
|
||||
Bugfix:
|
||||
- UI for adding pictures to markers was hidden
|
||||
|
||||
@@ -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.0: OpenTracks
|
||||
|
||||
Veranderingen:
|
||||
- Gebruik de EGM2008-gegevens van Androidx (in plaats van onze aangepaste oplossing te bundelen).
|
||||
|
||||
Ontwikkelaar:
|
||||
- Target Android15 / SDK35
|
||||
@@ -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() {
|
||||
|
||||
@@ -34,6 +34,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 +151,8 @@ limitations under the License.
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<include
|
||||
android:id="@+id/bottom_app_bar_layout"
|
||||
layout="@layout/bottomappbar" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user