From fb8e3278560a05b5dbadafc3879c00b4b555248a Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 22 Jul 2022 00:29:56 +0300 Subject: [PATCH] some fixes --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 36 ++++++++++--------- .../ru/vtosters/lite/hooks/NewsfeedHook.java | 2 ++ smali/res/xml/preferences_debug.xml | 4 +++ 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 31bc7d59f..6a052efc2 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -117,7 +117,7 @@ public class JsonInjectors{ return orig; } - public static JSONObject superapp(JSONObject json) throws JSONException { + public static JSONObject superapp(JSONObject json) throws JSONException{ var superApps = Globals.getPreferences().getString("superapp_items", "menu,promo,miniapps,vkpay_slim,greeting,holiday,weather,sport,games,informer,food,event,music,vk_run").split(","); if (superApps.length == 0) return json; @@ -158,7 +158,7 @@ public class JsonInjectors{ return json; } - public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException { + public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException{ if (!adsstories()) { return json; } @@ -194,6 +194,7 @@ public class JsonInjectors{ private static void parseStoriesItem(JSONObject item){ var stories = item.optJSONArray("stories"); + var newStories = new JSONArray(); if (stories == null) return; @@ -221,6 +222,9 @@ public class JsonInjectors{ } public static JSONArray newsfeedadtest(JSONArray items) throws JSONException{ + if (!getBoolValue("newadblock", true)) return items; + var newItems = new JSONArray(); + for (int j = 0; j < items.length(); j++) { var list = items.optJSONObject(j); var type = list.optString("type"); @@ -241,7 +245,7 @@ public class JsonInjectors{ var isFriendsRecommendations = type.contains("friends_recommendations") || type.contains("user_rec") || type.contains("friends_recomm"); - var isGroupAds = list.optBoolean("marked_as_ads"); + var isGroupAds = list.optInt("marked_as_ads") == 1; var isRecomsGroup = type.contains("recommended_groups"); @@ -257,25 +261,25 @@ public class JsonInjectors{ var reposts = injectFiltersReposts(list); - if (isAds && ads() - || isAuthorRecommendations && authorsrecomm() - || isPostRecommendations && postsrecomm() - || isFriendsRecommendations && friendsrecomm() - || isGroupAds && adsgroup() - || isRecomsGroup && authorsrecomm() - || isMusicBlock && authorsrecomm() - || isNewsBlock && ads() + if ((isAds && ads()) + || (isAuthorRecommendations && authorsrecomm()) + || (isPostRecommendations && postsrecomm()) + || (isFriendsRecommendations && friendsrecomm()) + || (isGroupAds && adsgroup()) + || (isRecomsGroup && authorsrecomm()) + || (isMusicBlock && authorsrecomm()) + || (isNewsBlock && ads()) || isBadNews || isCopyrightBlocked || isCaptionBlocked || reposts) { - items.remove(j); - if (dev()) Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, type: " + type + ", isAds: " + isAds + ", marked as ads: " + isGroupAds + ", is bad news: " + isBadNews + ", is copyright blocked: " + isCopyrightBlocked + ", is caption blocked: " + isCaptionBlocked + ", repost blocked: " + reposts + ", is author recommendations: " + isAuthorRecommendations + ", is post recommendations: " + isPostRecommendations + ", is friends recommendations: " + isFriendsRecommendations + ", is music block: " + isMusicBlock + ", is news block: " + isNewsBlock); + } else { + newItems.put(list); } } - return items; + return newItems; } public static JSONObject music(JSONObject json) throws JSONException{ @@ -403,11 +407,11 @@ public class JsonInjectors{ skip = friendsblock(); } - if (buttons.contains("friends_birthdays_list")){ + if (buttons.contains("friends_birthdays_list")) { hasBirthday = true; } - if (name.contains("separator") && hasBirthday){ + if (name.contains("separator") && hasBirthday) { skip = false; hasBirthday = false; } diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index 2f12aba47..cb67ce38f 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -26,6 +26,8 @@ import java.util.List; public class NewsfeedHook{ public static boolean injectFilters(JSONObject obj) throws JSONException{ + if (getBoolValue("newadblock", true)) return true; + var optString = obj.optString("type", ""); if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isRecomsGroup(optString) || isMusicBlock(optString) || isNewsBlock(optString)) { return false; diff --git a/smali/res/xml/preferences_debug.xml b/smali/res/xml/preferences_debug.xml index edbea852b..ac6e847a7 100644 --- a/smali/res/xml/preferences_debug.xml +++ b/smali/res/xml/preferences_debug.xml @@ -22,6 +22,10 @@ android:key="calls" android:summary="@string/messages_interface_calls_summary" android:title="@string/vtlcalls" /> +