Track is now a record.

Create Track directly.
This commit is contained in:
Dennis Guse
2025-11-27 20:34:51 +01:00
parent 21404fed50
commit 12d1a50995
6 changed files with 65 additions and 101 deletions
@@ -72,9 +72,9 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
}
trackBuilder = new TrackBuilder(track);
viewBinding.trackEditName.setText(trackBuilder.getName());
viewBinding.trackEditName.setText(track.name());
viewBinding.trackEditActivityTypeLocalized.setText(trackBuilder.getActivityTypeLocalized());
viewBinding.trackEditActivityTypeLocalized.setText(track.activityTypeLocalized());
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, ActivityType.getLocalizedStrings(this));
viewBinding.trackEditActivityTypeLocalized.setAdapter(adapter);
viewBinding.trackEditActivityTypeLocalized.setOnItemClickListener((parent, view, position, id) -> {
@@ -93,15 +93,15 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
activityType = (ActivityType) bundle.getSerializable(ICON_VALUE_KEY);
}
if (activityType == null) {
activityType = trackBuilder.getActivityType();
activityType = track.activityType();
}
setActivityTypeIcon(activityType);
viewBinding.trackEditActivityTypeIcon.setOnClickListener(v -> ChooseActivityTypeDialogFragment.showDialog(getSupportFragmentManager(), this, viewBinding.trackEditActivityTypeLocalized.getText().toString()));
viewBinding.trackEditDescription.setText(trackBuilder.getDescription());
viewBinding.trackEditDescription.setText(track.description());
final ArrayAdapter<ZoneOffset> zoneOffsetAdapter = new ZoneOffsetAdapter(this, android.R.layout.simple_dropdown_item_1line);
viewBinding.trackEditTimeOffset.setText(trackBuilder.getZoneOffset().toString());
viewBinding.trackEditTimeOffset.setText(track.zoneOffset().toString());
viewBinding.trackEditTimeOffset.setAdapter(zoneOffsetAdapter);
viewBinding.trackEditTimeOffset.setOnItemClickListener((parent, view, position, id) -> trackBuilder.setZoneOffset(zoneOffsetAdapter.getItem(position)));
@@ -128,7 +128,7 @@ public class ContentProviderUtils {
null,
null
);
return new Track(
new Track.Id(cursor.getLong(idIndex)),
UUIDUtils.fromBytes(cursor.getBlob(uuidIndex)),
@@ -251,6 +251,7 @@ public class ContentProviderUtils {
* @return the content provider URI of the inserted track.
*/
public Track.Id insertTrack(Track track) {
//TODO Unset trackId
Uri uri = contentResolver.insert(TracksColumns.CONTENT_URI, createContentValues(track));
return new Track.Id(ContentUris.parseId(uri));
}
@@ -50,13 +50,6 @@ public class TrackBuilder {
@NonNull
private Statistics trackStatistics;
@Deprecated
@VisibleForTesting
public TrackBuilder(@NonNull Statistics trackStatistics) {
this.zoneOffset = ZoneOffset.UTC;
this.trackStatistics = trackStatistics;
}
public TrackBuilder(Track track) {
this.id = track.id();
this.uuid = track.uuid();
@@ -68,60 +61,23 @@ public class TrackBuilder {
this.trackStatistics = track.statistics();
}
/**
* May be null if the track was not loaded from the database.
*/
@Nullable
@Deprecated
public Track.Id getId() {
return id;
}
@VisibleForTesting
public void setId(Track.Id id) {
this.id = id;
}
@Deprecated
public UUID getUuid() {
return uuid;
}
public void setUuid(UUID uuid) {
this.uuid = uuid;
}
@Deprecated
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Deprecated
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Deprecated
public String getActivityTypeLocalized() {
return activityTypeLocalized;
}
public void setActivityTypeLocalized(String activityTypeLocalized) {
this.activityTypeLocalized = activityTypeLocalized;
}
@Deprecated
public ActivityType getActivityType() {
return activityType;
}
public void setActivityType(ActivityType activityType) {
this.activityType = activityType;
}
@@ -131,27 +87,10 @@ public class TrackBuilder {
setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized));
}
@Deprecated
public ZoneOffset getZoneOffset() {
return zoneOffset;
}
public void setZoneOffset(@NonNull ZoneOffset zoneOffset) {
this.zoneOffset = zoneOffset;
}
@Deprecated
public OffsetDateTime getStartTime() {
return trackStatistics
.startTime().atOffset(zoneOffset);
}
@Deprecated
public OffsetDateTime getStopTime() {
return trackStatistics
.stopTime().atOffset(zoneOffset);
}
@Deprecated
public Statistics getStatistics() {
return trackStatistics;
@@ -173,16 +112,4 @@ public class TrackBuilder {
trackStatistics
);
}
@NonNull
@Override
public String toString() {
return "Track{" +
"name='" + name + '\'' +
", description='" + description + '\'' +
", activityTypeLocalized='" + activityTypeLocalized + '\'' +
", activityType=" + activityType +
'}';
}
}