Bugfix: crash when using number as default track name.

Fixes #2229.
This commit is contained in:
Dennis Guse
2025-12-11 18:24:47 +01:00
parent 51c03d8d75
commit eb49156ee7
@@ -75,18 +75,25 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
Statistics initialStatistics = trackStatisticsUpdater.getTrackStatistics(); Statistics initialStatistics = trackStatisticsUpdater.getTrackStatistics();
String activityTypeLocalized = PreferencesUtils.getDefaultActivityTypeLocalized(); String activityTypeLocalized = PreferencesUtils.getDefaultActivityTypeLocalized();
Track track = new Track(
trackId = contentProviderUtils.insertTrack(
new Track(
null, null,
UUID.randomUUID(), //TODO This is not really cool: should happen in ContentProviderUtils? UUID.randomUUID(), //TODO This is not really cool: should happen in ContentProviderUtils?
TrackNameUtils.getTrackName(context, trackId, initialStatistics.startTime().atOffset(zoneOffset)), "",
"", "",
activityTypeLocalized, activityTypeLocalized,
ActivityType.findByLocalizedString(context, activityTypeLocalized), ActivityType.findByLocalizedString(context, activityTypeLocalized),
zoneOffset, zoneOffset,
initialStatistics initialStatistics
)
); );
trackId = contentProviderUtils.insertTrack(track); //TODO Move this into ContentProviderUtils?
// Generating the name requires already the track.id (generated by the database).
TrackBuilder track = new TrackBuilder(contentProviderUtils.getTrack(trackId));
track.setName(TrackNameUtils.getTrackName(context, trackId, initialStatistics.startTime().atOffset(zoneOffset)));
contentProviderUtils.updateTrack(track.getTrack());
onNewTrackPoint(segmentStartTrackPoint); onNewTrackPoint(segmentStartTrackPoint);