[music] make PlaylistDownloader more generic

This commit is contained in:
aliveoutside
2022-09-17 19:25:16 +03:00
parent e60ab4a54e
commit 68c3a1d137
2 changed files with 9 additions and 8 deletions
@@ -40,7 +40,12 @@ public class AudioDownloader {
public static void downloadPlaylist(Playlist playlist) {
var tracks = PlaylistConverter.getPlaylist(playlist);
PlaylistDownloader.downloadPlaylist(tracks, IOUtils.getValidFileName(playlist.g));
var playlistName = IOUtils.getValidFileName(playlist.g);
var musicPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath();
var downloadPath = musicPath + File.separator + playlistName;
PlaylistDownloader.downloadPlaylist(tracks, IOUtils.getValidFileName(playlist.g), downloadPath);
}
private static void cachePlaylist(ArrayList<MusicTrack> playlist) {
@@ -1,6 +1,5 @@
package ru.vtosters.lite.music.downloader;
import android.os.Environment;
import android.util.Log;
import androidx.core.app.NotificationCompat;
@@ -20,11 +19,8 @@ import ru.vtosters.lite.utils.AndroidUtils;
public class PlaylistDownloader {
private static NotificationManagerCompat notificationManager = NotificationChannels.getNotificationManager();
public static void downloadPlaylist(List<MusicTrack> playlist, String playlistName) {
var musicPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath();
var downloadPath = musicPath + File.separator + playlistName;
File outDir = new File(downloadPath);
public static void downloadPlaylist(List<MusicTrack> playlist, String playlistName, String path) {
File outDir = new File(path);
if (!outDir.exists())
if (outDir.mkdirs())
Log.v("TrackDownloader", "Directory created");
@@ -38,7 +34,7 @@ public class PlaylistDownloader {
var tracksWithUrls = playlist.stream().filter(track -> !track.D.isEmpty()).collect(Collectors.toList());
for (MusicTrack musicTrack : tracksWithUrls) {
TrackDownloader.downloadTrack(musicTrack, downloadPath, new Callback() {
TrackDownloader.downloadTrack(musicTrack, path, new Callback() {
@Override
public void onProgress(int progress) {}