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 e675248aa..ebf4f2f8d 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 @@ -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 tracks) { + public static JSONArray tracksToIds(List tracks, boolean invertList) { var arr = new JSONArray(); + + if (!invertList) Collections.shuffle(tracks); + for (MusicTrack track : tracks) { arr.put(track.y1()); } + return arr; } diff --git a/app/src/main/java/ru/vtosters/lite/music/cache/injectors/TracklistInjector.java b/app/src/main/java/ru/vtosters/lite/music/cache/injectors/TracklistInjector.java index 037986b71..35d397a53 100644 --- a/app/src/main/java/ru/vtosters/lite/music/cache/injectors/TracklistInjector.java +++ b/app/src/main/java/ru/vtosters/lite/music/cache/injectors/TracklistInjector.java @@ -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") diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index 439aad840..ed3a5a811 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -123,6 +123,8 @@ public class MediaFragment extends TrackedMaterialPreferenceToolbarFragment { return true; }); + findPreference("invertCachedTracks").setVisible(CacheDatabaseDelegate.hasTracks()); + if (!LibVKXClient.isVkxInstalled()) { findPreference("vkx_sett").setVisible(false); } diff --git a/smali/res/values-be/strings.xml b/smali/res/values-be/strings.xml index 408057c13..343f0557f 100644 --- a/smali/res/values-be/strings.xml +++ b/smali/res/values-be/strings.xml @@ -7032,4 +7032,7 @@ Ачысціць ўвесь кэш? Памер прыкладання Вага кэша прыкладання + + Інвертаваць cпіс + Інвертаваць cпіс кэшаваных трэкаў \ No newline at end of file diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index ab7842fb1..1dca5924c 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -6414,4 +6414,7 @@ Очистить весь кеш? Размер приложения Вес кеша приложения + + Инвертировать список + Инвертировать список кешированных треков \ No newline at end of file diff --git a/smali/res/values-uk/strings.xml b/smali/res/values-uk/strings.xml index 140f96d45..357029e46 100644 --- a/smali/res/values-uk/strings.xml +++ b/smali/res/values-uk/strings.xml @@ -6339,4 +6339,7 @@ Очистити весь кеш? Розмір програми Вага кеша додатки + + Інвертувати список + Інвертувати список кешованих треків diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index effc0e00e..6ae494d26 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -6552,4 +6552,7 @@ May look like a fake leaving the online" Clear all cache? App size Cache size + + Invert list + Invert cached track list diff --git a/smali/res/xml/preferences_media.xml b/smali/res/xml/preferences_media.xml index d1573c301..bcfd8b73e 100644 --- a/smali/res/xml/preferences_media.xml +++ b/smali/res/xml/preferences_media.xml @@ -18,6 +18,11 @@ +