Release GPS2Audio v2.5.48 TrackDraft backup fix

This commit is contained in:
Perplexity Computer
2026-05-30 22:19:04 +00:00
parent 990b66e24f
commit 2eeb086481
5 changed files with 86 additions and 33 deletions
@@ -1212,6 +1212,8 @@ class WaypointViewModel(application: Application) : AndroidViewModel(application
val tourRoutesMap = runCatching { repository.tourRoutes.first() }.getOrDefault(emptyMap())
val tourCoversMap = runCatching { repository.tourCovers.first() }.getOrDefault(emptyMap())
// v2.5.48 — Echte TrackDraft-Objekte für Backup lesen (nicht gpsTracks).
val trackDraftsSnapshot = runCatching { repository.trackDrafts.first() }.getOrDefault(emptyList())
val input = de.waypointaudio.io.BackupExportManager.BackupInput(
waypoints = _waypoints.value,
@@ -1221,6 +1223,7 @@ class WaypointViewModel(application: Application) : AndroidViewModel(application
musicSettings = musicSettingsMap,
tourRoutes = tourRoutesMap,
tourCovers = tourCoversMap,
trackDrafts = trackDraftsSnapshot,
appVersionName = pkgInfo?.versionName ?: "",
appVersionCode = versionCode
)
@@ -1366,6 +1369,13 @@ class WaypointViewModel(application: Application) : AndroidViewModel(application
}
}
if (trackDrafts) {
// v2.5.48 FIX: Echte TrackDraft-Objekte importieren statt gpsTracks-Map.
// trackDraftsToAdd enthält bereits neue UUIDs (vergeben im ImportManager).
payload.trackDraftsToAdd.forEach { draft ->
repository.addTrackDraft(draft)
}
// tracksToWrite ist für die Live-GPS-Track-Map (gpsTracksFlow).
// Bei neuem Format leer; bei altem Format auch leer (kein Import).
payload.tracksToWrite.forEach { (tour, points) ->
repository.saveGpsTrack(tour, points)
}