mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-09-24 18:40:43 +02:00
fix(download): suffix batch filenames with track number when needed
Mark multi-track queue additions as batch downloads and append
{track:02} - {title} when the configured format has no uniqueness
token, instead of relying on playlist position alone.
This commit is contained in:
@@ -38,6 +38,7 @@ class DownloadItem {
|
||||
final String? qualityOverride;
|
||||
final String? playlistName;
|
||||
final int? playlistPosition; // 1-based position in the source playlist
|
||||
final bool fromBatch;
|
||||
|
||||
const DownloadItem({
|
||||
required this.id,
|
||||
@@ -55,6 +56,7 @@ class DownloadItem {
|
||||
this.qualityOverride,
|
||||
this.playlistName,
|
||||
this.playlistPosition,
|
||||
this.fromBatch = false,
|
||||
});
|
||||
|
||||
DownloadItem copyWith({
|
||||
@@ -73,6 +75,7 @@ class DownloadItem {
|
||||
String? qualityOverride,
|
||||
String? playlistName,
|
||||
int? playlistPosition,
|
||||
bool? fromBatch,
|
||||
}) {
|
||||
return DownloadItem(
|
||||
id: id ?? this.id,
|
||||
@@ -90,6 +93,7 @@ class DownloadItem {
|
||||
qualityOverride: qualityOverride ?? this.qualityOverride,
|
||||
playlistName: playlistName ?? this.playlistName,
|
||||
playlistPosition: playlistPosition ?? this.playlistPosition,
|
||||
fromBatch: fromBatch ?? this.fromBatch,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ DownloadItem _$DownloadItemFromJson(Map<String, dynamic> json) => DownloadItem(
|
||||
qualityOverride: json['qualityOverride'] as String?,
|
||||
playlistName: json['playlistName'] as String?,
|
||||
playlistPosition: (json['playlistPosition'] as num?)?.toInt(),
|
||||
fromBatch: json['fromBatch'] as bool? ?? false,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$DownloadItemToJson(DownloadItem instance) =>
|
||||
@@ -43,6 +44,7 @@ Map<String, dynamic> _$DownloadItemToJson(DownloadItem instance) =>
|
||||
'qualityOverride': instance.qualityOverride,
|
||||
'playlistName': instance.playlistName,
|
||||
'playlistPosition': instance.playlistPosition,
|
||||
'fromBatch': instance.fromBatch,
|
||||
};
|
||||
|
||||
const _$DownloadStatusEnumMap = {
|
||||
|
||||
Reference in New Issue
Block a user