From 55f1bcb30be9507c9e677ac3f32d0df136c700ce Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 6 Dec 2025 08:34:17 +0100 Subject: [PATCH] PublicAPI: StartRecording does not overwrite Track defaults if no data was provided. Fixes #2214. --- .../opentracks/publicapi/StartRecording.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java b/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java index 080ab4d2b..949bc2421 100644 --- a/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java +++ b/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java @@ -42,10 +42,17 @@ public class StartRecording extends AbstractAPIActivity { ContentProviderUtils contentProviderUtils = new ContentProviderUtils(this); TrackBuilder track = new TrackBuilder(contentProviderUtils.getTrack(trackId)); - track.setName(bundle.getString(EXTRA_TRACK_NAME, "")); - track.setDescription(bundle.getString(EXTRA_TRACK_DESCRIPTION, "")); - track.setActivityType(ActivityType.findBy(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_ID, null))); - track.setActivityTypeLocalized(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_LOCALIZED, "")); + if (bundle.getString(EXTRA_TRACK_NAME) != null) + track.setName(bundle.getString(EXTRA_TRACK_NAME)); + + if (bundle.getString(EXTRA_TRACK_DESCRIPTION) != null) + track.setDescription(bundle.getString(EXTRA_TRACK_DESCRIPTION)); + + if (bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_ID) != null) + track.setActivityType(ActivityType.findBy(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_ID))); + + if (bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_LOCALIZED) != null) + track.setActivityTypeLocalized(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_LOCALIZED)); contentProviderUtils.updateTrack(track.getTrack()); }