From ba0169cb4cf6ec96add57a0cfdfdfc9931f43356 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 6 May 2023 11:51:23 +0300 Subject: [PATCH] fixed thumbnails in online cache catalog and shuffle --- .../music/cache/helpers/PlaylistHelper.java | 1 - .../music/cache/helpers/TracklistHelper.java | 17 +++++++++++++++++ .../music/cache/injectors/PlaylistInjector.java | 3 ++- .../music/cache/injectors/ShuffleInjector.java | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/music/cache/helpers/PlaylistHelper.java b/app/src/main/java/ru/vtosters/lite/music/cache/helpers/PlaylistHelper.java index 18415dfae..9c0558965 100644 --- a/app/src/main/java/ru/vtosters/lite/music/cache/helpers/PlaylistHelper.java +++ b/app/src/main/java/ru/vtosters/lite/music/cache/helpers/PlaylistHelper.java @@ -83,7 +83,6 @@ public class PlaylistHelper { } public static JSONObject getPlaylist() throws JSONException { - return new JSONObject() .put("id", -1) .put("owner_id", getUserId()) diff --git a/app/src/main/java/ru/vtosters/lite/music/cache/helpers/TracklistHelper.java b/app/src/main/java/ru/vtosters/lite/music/cache/helpers/TracklistHelper.java index 9f0c79d1d..ff6869a48 100644 --- a/app/src/main/java/ru/vtosters/lite/music/cache/helpers/TracklistHelper.java +++ b/app/src/main/java/ru/vtosters/lite/music/cache/helpers/TracklistHelper.java @@ -11,6 +11,7 @@ import ru.vtosters.lite.music.cache.FileCacheImplementation; import java.io.File; import java.net.MalformedURLException; +import java.util.ArrayList; import java.util.List; public class TracklistHelper { @@ -50,6 +51,22 @@ public class TracklistHelper { return arr; } + public static List getTracksWithThumbnails() { + ArrayList tracks = new ArrayList<>(); + JSONArray cache = TracklistHelper.tracksToJsons(TracklistHelper.getTracks()); + + try { + for (int i = 0; i < cache.length(); i++) { + tracks.add(new MusicTrack(cache.getJSONObject(i))); + } + } catch (JSONException e) { + tracks = (ArrayList) TracklistHelper.getTracks(); + e.printStackTrace(); + } + + return tracks; + } + private static void addCachedThumbnails(JSONObject target, File thumbnailsDir) throws JSONException, MalformedURLException { var sizes = new JSONArray(); diff --git a/app/src/main/java/ru/vtosters/lite/music/cache/injectors/PlaylistInjector.java b/app/src/main/java/ru/vtosters/lite/music/cache/injectors/PlaylistInjector.java index be583986d..937f43cdb 100644 --- a/app/src/main/java/ru/vtosters/lite/music/cache/injectors/PlaylistInjector.java +++ b/app/src/main/java/ru/vtosters/lite/music/cache/injectors/PlaylistInjector.java @@ -9,6 +9,7 @@ import com.vk.dto.music.MusicTrack; import com.vk.dto.music.Playlist; import io.reactivex.Observable; import io.reactivex.ObservableOnSubscribe; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import ru.vtosters.lite.downloaders.AudioDownloader; @@ -83,7 +84,7 @@ public class PlaylistInjector { } if (isVirtualPlaylist) { - response.c = (ArrayList) TracklistHelper.getTracks(); + response.c = (ArrayList) TracklistHelper.getTracksWithThumbnails(); response.b = PlaylistHelper.createCachedPlaylistMetadata(); } else { response.c = (ArrayList) TracklistHelper.getTracks(requestArgs.get("owner_id")); diff --git a/app/src/main/java/ru/vtosters/lite/music/cache/injectors/ShuffleInjector.java b/app/src/main/java/ru/vtosters/lite/music/cache/injectors/ShuffleInjector.java index 798786def..c85e4efe5 100644 --- a/app/src/main/java/ru/vtosters/lite/music/cache/injectors/ShuffleInjector.java +++ b/app/src/main/java/ru/vtosters/lite/music/cache/injectors/ShuffleInjector.java @@ -18,7 +18,7 @@ public class ShuffleInjector { } private static List getShuffledList() { - List shuffled = TracklistHelper.getTracks(); + List shuffled = TracklistHelper.getTracksWithThumbnails(); Collections.shuffle(shuffled); return shuffled; }