mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-08-12 06:00:19 +02:00
fix: correct track/disc defaults, forward extension metadata, and fix service ID display
- Default track/disc number to 0 (unknown) instead of 1, letting the backend use the service-provided value or skip the field entirely - Add releaseDate to ExploreItem so explore downloads carry release info - Pass discNumber and releaseDate from extension album/playlist tracks - Fix isDeezer detection using service field instead of substring match - Add _displayServiceTrackId() to properly strip prefixes for all services
This commit is contained in:
@@ -2811,8 +2811,8 @@ class DownloadQueueNotifier extends Notifier<DownloadQueueState> {
|
||||
'artist': track.artistName,
|
||||
'album': track.albumName,
|
||||
'album_artist': resolvedAlbumArtist,
|
||||
'track_number': track.trackNumber ?? 1,
|
||||
'disc_number': track.discNumber ?? 1,
|
||||
'track_number': track.trackNumber ?? 0,
|
||||
'disc_number': track.discNumber ?? 0,
|
||||
'isrc': track.isrc ?? '',
|
||||
'release_date': track.releaseDate ?? '',
|
||||
'duration_ms': track.duration * 1000,
|
||||
@@ -4649,12 +4649,12 @@ class DownloadQueueNotifier extends Notifier<DownloadQueueState> {
|
||||
(trackToDownload.trackNumber != null &&
|
||||
trackToDownload.trackNumber! > 0)
|
||||
? trackToDownload.trackNumber!
|
||||
: 1;
|
||||
: 0;
|
||||
final normalizedDiscNumber =
|
||||
(trackToDownload.discNumber != null &&
|
||||
trackToDownload.discNumber! > 0)
|
||||
? trackToDownload.discNumber!
|
||||
: 1;
|
||||
: 0;
|
||||
|
||||
String payloadSpotifyId = trackToDownload.id;
|
||||
String payloadQobuzId = '';
|
||||
|
||||
@@ -19,6 +19,7 @@ class ExploreItem {
|
||||
final String? providerId;
|
||||
final String? albumId;
|
||||
final String? albumName;
|
||||
final String? releaseDate;
|
||||
final int durationMs;
|
||||
|
||||
const ExploreItem({
|
||||
@@ -32,6 +33,7 @@ class ExploreItem {
|
||||
this.providerId,
|
||||
this.albumId,
|
||||
this.albumName,
|
||||
this.releaseDate,
|
||||
this.durationMs = 0,
|
||||
});
|
||||
|
||||
@@ -47,6 +49,7 @@ class ExploreItem {
|
||||
providerId: json['provider_id'] as String?,
|
||||
albumId: json['album_id'] as String?,
|
||||
albumName: json['album_name'] as String?,
|
||||
releaseDate: json['release_date']?.toString(),
|
||||
durationMs: json['duration_ms'] as int? ?? 0,
|
||||
);
|
||||
}
|
||||
@@ -62,6 +65,7 @@ class ExploreItem {
|
||||
'provider_id': providerId,
|
||||
'album_id': albumId,
|
||||
'album_name': albumName,
|
||||
'release_date': releaseDate,
|
||||
'duration_ms': durationMs,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user