invert cached tracks list
This commit is contained in:
+6
-1
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user