invert cached tracks list

This commit is contained in:
gdlbo
2023-07-29 16:48:30 +03:00
parent 1b3896f4ca
commit 021fe66bec
8 changed files with 27 additions and 2 deletions
@@ -12,6 +12,7 @@ import ru.vtosters.lite.music.cache.FileCacheImplementation;
import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TracklistHelper {
@@ -31,11 +32,15 @@ public class TracklistHelper {
return CacheDatabaseDelegate.getTracksByAlbumOne(id);
}
public static JSONArray tracksToIds(List<MusicTrack> tracks) {
public static JSONArray tracksToIds(List<MusicTrack> tracks, boolean invertList) {
var arr = new JSONArray();
if (!invertList) Collections.shuffle(tracks);
for (MusicTrack track : tracks) {
arr.put(track.y1());
}
return arr;
}
@@ -11,6 +11,7 @@ import io.reactivex.ObservableOnSubscribe;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import ru.vtosters.hooks.other.Preferences;
import ru.vtosters.lite.music.cache.CacheDatabaseDelegate;
import ru.vtosters.lite.music.cache.helpers.PlaylistHelper;
import ru.vtosters.lite.music.cache.helpers.TracklistHelper;
@@ -232,7 +233,7 @@ public class TracklistInjector {
.put("id", getRandomId())
.put("data_type", "music_audios")
.put("url", "synth:cache:list")
.put("audios_ids", TracklistHelper.tracksToIds(tracks));
.put("audios_ids", TracklistHelper.tracksToIds(tracks, Preferences.getBoolValue("invertCachedTracks", false)));
var layout = new JSONObject()
.put("name", "list")
@@ -123,6 +123,8 @@ public class MediaFragment extends TrackedMaterialPreferenceToolbarFragment {
return true;
});
findPreference("invertCachedTracks").setVisible(CacheDatabaseDelegate.hasTracks());
if (!LibVKXClient.isVkxInstalled()) {
findPreference("vkx_sett").setVisible(false);
}