Fix display of "null" for activity location (backend)

This commit is contained in:
Niklas Deutschmann 2026-04-11 11:24:53 +02:00
parent 6afd7a5dad
commit 339d78e4d5
4 changed files with 9 additions and 5 deletions

View file

@ -133,7 +133,7 @@ public class ActivityDTO {
.elevationLoss(activity.getElevationLoss()) .elevationLoss(activity.getElevationLoss())
.createdAt(activity.getCreatedAt()) .createdAt(activity.getCreatedAt())
.updatedAt(activity.getUpdatedAt()) .updatedAt(activity.getUpdatedAt())
.activityLocation(activity.getActivityLocation()); .activityLocation(activity.getActivityLocationNonNull());
if (activity.getTotalDurationSeconds() != null) { if (activity.getTotalDurationSeconds() != null) {
builder.totalDurationSeconds(activity.getTotalDurationSeconds()); builder.totalDurationSeconds(activity.getTotalDurationSeconds());
@ -246,7 +246,7 @@ public class ActivityDTO {
.subSport(activity.getSubSport()) .subSport(activity.getSubSport())
.indoorDetectionMethod(activity.getIndoorDetectionMethod()) .indoorDetectionMethod(activity.getIndoorDetectionMethod())
.race(activity.getRace() != null ? activity.getRace() : false) .race(activity.getRace() != null ? activity.getRace() : false)
.activityLocation(activity.getActivityLocation()) .activityLocation(activity.getActivityLocationNonNull())
.build(); .build();
} }
@ -266,7 +266,7 @@ public class ActivityDTO {
.elevationLoss(activity.getElevationLoss()) .elevationLoss(activity.getElevationLoss())
.createdAt(activity.getCreatedAt()) .createdAt(activity.getCreatedAt())
.updatedAt(activity.getUpdatedAt()) .updatedAt(activity.getUpdatedAt())
.activityLocation(activity.getActivityLocation()); .activityLocation(activity.getActivityLocationNonNull());
if (activity.getTotalDurationSeconds() != null) { if (activity.getTotalDurationSeconds() != null) {
builder.totalDurationSeconds(activity.getTotalDurationSeconds()); builder.totalDurationSeconds(activity.getTotalDurationSeconds());

View file

@ -104,7 +104,7 @@ public class TimelineActivityDTO {
.indoorDetectionMethod(activity.getIndoorDetectionMethod()) .indoorDetectionMethod(activity.getIndoorDetectionMethod())
.race(activity.getRace() != null ? activity.getRace() : false) .race(activity.getRace() != null ? activity.getRace() : false)
.metrics(activity.getMetrics() != null ? ActivityMetricsSummary.fromMetrics(activity.getMetrics()) : null) .metrics(activity.getMetrics() != null ? ActivityMetricsSummary.fromMetrics(activity.getMetrics()) : null)
.activityLocation(activity.getActivityLocation()) .activityLocation(activity.getActivityLocationNonNull())
.build(); .build();
} }

View file

@ -214,6 +214,10 @@ public class Activity {
} }
} }
public String getActivityLocationNonNull() {
return activityLocation != null ? activityLocation : "";
}
/** /**
* Activity types supported by the platform * Activity types supported by the platform
*/ */

View file

@ -98,7 +98,7 @@ public class TimelineResultMapper {
.commentsCount(commentsCount) .commentsCount(commentsCount)
.likedByCurrentUser(likedByCurrentUser) .likedByCurrentUser(likedByCurrentUser)
.hasGpsTrack(true) // Will be refined based on actual data .hasGpsTrack(true) // Will be refined based on actual data
.activityLocation(activityLocation) .activityLocation(activityLocation != null ? activityLocation : "")
.build(); .build();
} catch (Exception e) { } catch (Exception e) {