[music] [PlaylistConverter] add track to playlist only if it has a vaild download url

This commit is contained in:
aliveoutside
2022-09-19 13:58:23 +03:00
parent 07ca91d8a2
commit 2e6617ec83
2 changed files with 8 additions and 4 deletions
@@ -37,7 +37,6 @@ public class AudioDownloader {
public static void downloadPlaylist(Playlist playlist) {
var tracks = PlaylistConverter.getPlaylist(playlist);
var tracksWithUrls = tracks.stream().filter(track -> !track.D.isEmpty()).collect(Collectors.toList());
var playlistName = IOUtils.getValidFileName(playlist.g);
@@ -48,10 +47,10 @@ public class AudioDownloader {
var notification = MusicNotificationBuilder.buildPlaylistDownloadNotification(playlistName, notificationId);
PlaylistDownloader.downloadPlaylist(
tracksWithUrls,
tracks,
IOUtils.getValidFileName(playlist.g),
downloadPath,
MusicCallbackBuilder.buildPlaylistCallback(tracksWithUrls.size(), notification, notificationId)
MusicCallbackBuilder.buildPlaylistCallback(tracks.size(), notification, notificationId)
);
}
@@ -64,7 +64,12 @@ public class PlaylistConverter {
var playlist = new JSONObject(response).getJSONObject("response").getJSONArray("audios");
var tracks = new ArrayList<MusicTrack>();
for (int i = 0; i < playlist.length(); i++) {
tracks.add(new MusicTrack(playlist.getJSONObject(i)));
var track = new MusicTrack(playlist.getJSONObject(i));
// add track only if it has a valid url
if (!track.D.isEmpty()) {
tracks.add(track);
}
}
return tracks;