added support of cache pl to empty pl catalog
This commit is contained in:
@@ -288,15 +288,24 @@ public class JsonInjectors {
|
|||||||
var isUsersCatalog = section.optString("url").contains("https://vk.com/audios" + getUserId() + "?section=" + (useOldAppVer ? "all" : "general"));
|
var isUsersCatalog = section.optString("url").contains("https://vk.com/audios" + getUserId() + "?section=" + (useOldAppVer ? "all" : "general"));
|
||||||
|
|
||||||
if (isUsersCatalog && CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) {
|
if (isUsersCatalog && CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) {
|
||||||
try {
|
var blocks = section.getJSONArray("blocks");
|
||||||
json.optJSONArray("playlists").put(getPlaylist());
|
var noPlaylists = blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type").equals("create_playlist");
|
||||||
} catch (Exception e) {
|
|
||||||
Log.d("catalogInjector", e.toString());
|
Log.d("catalogInjector", "type: " + blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type"));
|
||||||
|
|
||||||
|
if (noPlaylists) {
|
||||||
|
json.put("playlists", new JSONArray().put(getPlaylist()));
|
||||||
|
Log.d("catalogInjector", "added new pl");
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
json.optJSONArray("playlists").put(getPlaylist());
|
||||||
|
Log.d("catalogInjector", "added to exist pl");
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.d("catalogInjector", e.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var blocks = section.getJSONArray("blocks");
|
if (!useOldAppVer || noPlaylists) {
|
||||||
|
|
||||||
if (!useOldAppVer) {
|
|
||||||
var newBlocks = new JSONArray();
|
var newBlocks = new JSONArray();
|
||||||
|
|
||||||
newBlocks
|
newBlocks
|
||||||
@@ -556,9 +565,23 @@ public class JsonInjectors {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) { // inj in playlist list
|
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) { // inj in playlist list
|
||||||
json.optJSONArray("playlists").put(getPlaylist());
|
var noPlaylists = blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type").equals("create_playlist");
|
||||||
|
|
||||||
if (!getBoolValue("useOldAppVer", false)) {
|
Log.d("catalogInjector", "type: " + blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type"));
|
||||||
|
|
||||||
|
if (noPlaylists) {
|
||||||
|
json.put("playlists", new JSONArray().put(getPlaylist()));
|
||||||
|
Log.d("catalogInjector", "added new pl");
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
json.optJSONArray("playlists").put(getPlaylist());
|
||||||
|
Log.d("catalogInjector", "added to exist pl");
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.d("catalogInjector", e.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!getBoolValue("useOldAppVer", false) || noPlaylists) {
|
||||||
var newBlocks = new JSONArray();
|
var newBlocks = new JSONArray();
|
||||||
|
|
||||||
newBlocks
|
newBlocks
|
||||||
|
|||||||
+43
-13
@@ -1,6 +1,9 @@
|
|||||||
package ru.vtosters.lite.music.cache.injectors;
|
package ru.vtosters.lite.music.cache.injectors;
|
||||||
|
|
||||||
import static ru.vtosters.lite.music.cache.CacheDatabaseDelegate.hasTracks;
|
import static ru.vtosters.lite.music.cache.CacheDatabaseDelegate.hasTracks;
|
||||||
|
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogHeader;
|
||||||
|
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogPlaylist;
|
||||||
|
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogSeparator;
|
||||||
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getPlaylist;
|
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getPlaylist;
|
||||||
import static ru.vtosters.lite.utils.AccountManagerUtils.getUserId;
|
import static ru.vtosters.lite.utils.AccountManagerUtils.getUserId;
|
||||||
|
|
||||||
@@ -88,24 +91,51 @@ public class TracklistInjector {
|
|||||||
var blocks = firstSection.getJSONArray("blocks");
|
var blocks = firstSection.getJSONArray("blocks");
|
||||||
|
|
||||||
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) { // inj in playlist list
|
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) { // inj in playlist list
|
||||||
catalogNode.optJSONArray("playlists").put(getPlaylist());
|
var noPlaylists = blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type").equals("create_playlist");
|
||||||
|
|
||||||
for (int i = 0; i < blocks.length(); i++) {
|
if (noPlaylists) {
|
||||||
var j = blocks.optJSONObject(i);
|
catalogNode.put("playlists", new JSONArray().put(getPlaylist()));
|
||||||
var type = j.optString("data_type");
|
Log.d("catalogInjector", "added new pl");
|
||||||
|
|
||||||
if (type.equals("music_playlists") && j.has("playlists_ids")) {
|
var newBlocks = new JSONArray();
|
||||||
var newarr = new JSONArray();
|
|
||||||
var playlists_ids = j.optJSONArray("playlists_ids");
|
|
||||||
|
|
||||||
newarr.put(getUserId() + "_-1");
|
newBlocks
|
||||||
|
.put(getCatalogHeader())
|
||||||
|
.put(getCatalogPlaylist())
|
||||||
|
.put(getCatalogSeparator());
|
||||||
|
|
||||||
for (int n = 0; n < playlists_ids.length(); n++) {
|
Log.d("catalogInjector", "added cache catalog playlist");
|
||||||
newarr.put(playlists_ids.optString(n));
|
|
||||||
|
for (int i = 0; i < blocks.length(); i++) {
|
||||||
|
newBlocks.put(blocks.optJSONObject(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
firstSection.put("blocks", newBlocks);
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
catalogNode.optJSONArray("playlists").put(getPlaylist());
|
||||||
|
Log.d("catalogInjector", "added to exist pl");
|
||||||
|
|
||||||
|
for (int i = 0; i < blocks.length(); i++) {
|
||||||
|
var j = blocks.optJSONObject(i);
|
||||||
|
var type = j.optString("data_type");
|
||||||
|
|
||||||
|
if (type.equals("music_playlists") && j.has("playlists_ids")) {
|
||||||
|
var newarr = new JSONArray();
|
||||||
|
var playlists_ids = j.optJSONArray("playlists_ids");
|
||||||
|
|
||||||
|
newarr.put(getUserId() + "_-1");
|
||||||
|
|
||||||
|
for (int n = 0; n < playlists_ids.length(); n++) {
|
||||||
|
newarr.put(playlists_ids.optString(n));
|
||||||
|
}
|
||||||
|
|
||||||
|
j.put("playlists_ids", newarr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
j.put("playlists_ids", newarr);
|
Log.d("catalogInjector", e.toString());
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user