diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java new file mode 100644 index 000000000..2e6b92e8e --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -0,0 +1,50 @@ +package ru.vtosters.lite.downloaders; + +import android.os.Environment; +import android.provider.MediaStore; +import android.util.Log; +import android.widget.Toast; + +import com.vk.core.util.ToastUtils; +import com.vk.dto.music.MusicTrack; + +import java.io.File; + +import ru.vtosters.lite.music.Callback; +import ru.vtosters.lite.music.M3UDownloader; + +public class AudioDownloader { + public static void downloadAudio(MusicTrack track) { + if (track.D == null) { + ToastUtils.a("Не удалось найти ссылку на аудиозапись"); + return; + } + Log.v("VTosters Lite", "Downloading audio " + track.D); + downloadAudioAsync(track, Environment.DIRECTORY_MUSIC + File.pathSeparator + "test", new Callback() { + @Override + public void onProgress(int progress) { + ToastUtils.a("Загружено " + progress + "%"); + } + + @Override + public void onSuccess() { + ToastUtils.a("Загрузка завершена"); + } + + @Override + public void onFailure() { + ToastUtils.a("Не удалось загрузить аудиозапись"); + } + + @Override + public void onSizeReceived(long size, long header) { + + } + }); + } + + private static void downloadAudioAsync(MusicTrack track, String path, Callback callback) { + var destTs = path + ".ts"; + new M3UDownloader(track.D, new File(destTs), callback).execute(); + } +} diff --git a/smali/smali_classes3/com/vk/music/model/v/MusicTrackModelImpl.smali b/smali/smali_classes3/com/vk/music/model/v/MusicTrackModelImpl.smali index 1496cc2f8..80d093ffe 100644 --- a/smali/smali_classes3/com/vk/music/model/v/MusicTrackModelImpl.smali +++ b/smali/smali_classes3/com/vk/music/model/v/MusicTrackModelImpl.smali @@ -211,6 +211,11 @@ if-eqz v1, :cond_0 .line 12 + + invoke-static {p1}, Lru/vtosters/lite/downloaders/AudioDownloader;->downloadAudio(Lcom/vk/dto/music/MusicTrack;)V + + return-void + iget-object v0, p0, Lcom/vk/music/model/v/MusicTrackModelImpl;->f:Lcom/vk/music/common/BoomModel; invoke-interface {v0, p2, p1, p4, p3}, Lcom/vk/music/common/BoomModel;->a(Landroid/content/Context;Lcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/BoomModel$From;Lcom/vk/music/common/MusicPlaybackLaunchContext;)V