From 68c3a1d137fd0f7408dbdc444af5bb29a8f93c89 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 17 Sep 2022 19:25:16 +0300 Subject: [PATCH] [music] make PlaylistDownloader more generic --- .../ru/vtosters/lite/downloaders/AudioDownloader.java | 7 ++++++- .../lite/music/downloader/PlaylistDownloader.java | 10 +++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index b2466f329..92316d929 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -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 playlist) { diff --git a/app/src/main/java/ru/vtosters/lite/music/downloader/PlaylistDownloader.java b/app/src/main/java/ru/vtosters/lite/music/downloader/PlaylistDownloader.java index 2a6401c51..d819808f3 100644 --- a/app/src/main/java/ru/vtosters/lite/music/downloader/PlaylistDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/music/downloader/PlaylistDownloader.java @@ -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 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 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) {}