From 67ba4319f8b78f0c4f6522e1b7961998d255eb4c Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 28 Apr 2023 21:30:33 +0300 Subject: [PATCH] fixed groups fix for catalogs --- .../groupslist/GroupsCatalogInjector.java | 21 ++++++++----------- .../catalog/inject/CatalogJsonInjector.java | 12 ++++++++++- .../catalog2/core/api/CatalogGetSection.smali | 2 +- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/feature/groupslist/GroupsCatalogInjector.java b/app/src/main/java/ru/vtosters/lite/feature/groupslist/GroupsCatalogInjector.java index e05778046..0d81e6afc 100644 --- a/app/src/main/java/ru/vtosters/lite/feature/groupslist/GroupsCatalogInjector.java +++ b/app/src/main/java/ru/vtosters/lite/feature/groupslist/GroupsCatalogInjector.java @@ -12,9 +12,15 @@ public class GroupsCatalogInjector { public static JSONObject injectIntoGetGroups(JSONObject jsonObject) { var sections = jsonObject.optJSONObject("catalog").optJSONArray("sections"); if (sections == null) return jsonObject; - var section = sections.optJSONObject(0); + + fixGroups(sections.optJSONObject(0)); + + return jsonObject; + } + + public static void fixGroups(JSONObject section) { var blocks = section.optJSONArray("blocks"); - if (blocks == null) return jsonObject; + if (blocks == null) return; for (int i = 0; i < blocks.length(); i++) { var block = blocks.optJSONObject(i); var actions = block.optJSONArray("buttons"); @@ -41,7 +47,7 @@ public class GroupsCatalogInjector { } break; } - return jsonObject; + } public static ArrayList injectIntoJsonParser(JSONObject jsonObject, String str) { @@ -59,13 +65,4 @@ public class GroupsCatalogInjector { } return null; } - - public static CatalogButtonOpenSection injectIntoSerializer(Serializer serializer) { - serializer.v(); - serializer.v(); - serializer.v(); - var title = serializer.v(); - var id = serializer.v(); - return new CatalogButtonOpenSection(title, id); - } } diff --git a/app/src/main/java/ru/vtosters/lite/music/catalog/inject/CatalogJsonInjector.java b/app/src/main/java/ru/vtosters/lite/music/catalog/inject/CatalogJsonInjector.java index 7b8365bff..114a4802e 100644 --- a/app/src/main/java/ru/vtosters/lite/music/catalog/inject/CatalogJsonInjector.java +++ b/app/src/main/java/ru/vtosters/lite/music/catalog/inject/CatalogJsonInjector.java @@ -11,6 +11,7 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import ru.vtosters.lite.di.singleton.VtOkHttpClient; +import ru.vtosters.lite.feature.groupslist.GroupsCatalogInjector; import ru.vtosters.lite.music.cache.CacheDatabaseDelegate; import ru.vtosters.lite.utils.AccountManagerUtils; import ru.vtosters.lite.utils.AndroidUtils; @@ -18,6 +19,7 @@ import ru.vtosters.lite.utils.Preferences; import java.io.IOException; +import static ru.vtosters.lite.feature.groupslist.GroupsCatalogInjector.*; import static ru.vtosters.lite.hooks.DateHook.getLocale; import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.*; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; @@ -216,7 +218,15 @@ public class CatalogJsonInjector { return json; } - public static JSONObject musiclink(JSONObject json) { + public static JSONObject injectIntoCatalogs(JSONObject json) { + + musicLinkFix(json); + fixGroups(json.optJSONObject("section")); + + return json; + } + + public static JSONObject musicLinkFix(JSONObject json) { var links = json.optJSONArray("links"); if (links != null && !getBoolValue("useOldAppVer", false)) { diff --git a/smali/smali_classes2/com/vk/catalog2/core/api/CatalogGetSection.smali b/smali/smali_classes2/com/vk/catalog2/core/api/CatalogGetSection.smali index ee8a2d85e..9ea5188ce 100644 --- a/smali/smali_classes2/com/vk/catalog2/core/api/CatalogGetSection.smali +++ b/smali/smali_classes2/com/vk/catalog2/core/api/CatalogGetSection.smali @@ -136,7 +136,7 @@ move-result-object p1 - invoke-static {p1}, Lru/vtosters/lite/music/catalog/inject/CatalogJsonInjector;->musiclink(Lorg/json/JSONObject;)Lorg/json/JSONObject; + invoke-static {p1}, Lru/vtosters/lite/music/catalog/inject/CatalogJsonInjector;->injectIntoCatalogs(Lorg/json/JSONObject;)Lorg/json/JSONObject; move-result-object p1