new stories adblock

This commit is contained in:
gdlbo
2022-07-21 15:30:21 +03:00
parent 920883ada1
commit a81ebed663
5 changed files with 259 additions and 6 deletions
@@ -8,6 +8,7 @@ import static ru.vtosters.lite.utils.Base64Utils.decode;
import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Globals.getUserToken;
import static ru.vtosters.lite.utils.Preferences.adsstories;
import static ru.vtosters.lite.utils.Preferences.dev;
import static ru.vtosters.lite.utils.Preferences.friendsblock;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
@@ -153,6 +154,58 @@ public class JsonInjectors{
return json;
}
public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException{
var oldItems = json.optJSONArray("items");
var newItems2 = new JSONArray();
if (!adsstories()) {
return json;
}
if (json.has("ads")) {
if (isDeleteFix) {
var ad = json.optJSONObject("ads");
ad.put("stories_interval", 0);
ad.put("authors_interval", 0);
ad.put("time_interval", 0);
ad.put("stories_init", 0);
ad.put("authors_init", 0);
ad.put("time_init", 0);
Log.d("StoriesAds", "Set ads at zero val");
} else {
json.remove("ads");
Log.d("StoriesAds", "Removed ads");
}
}
if (json.has("items")) {
for (int i = 0; i < oldItems.length(); i++) {
var item = oldItems.optJSONObject(i).optJSONArray("stories");
if (item != null) {
for (int j = 0; j < item.length(); j++) {
var item2 = item.optJSONObject(j);
var type = item2.optBoolean("is_ads");
var promo = item2.optBoolean("is_promo");
if (!type && !promo) {
newItems2.put(item.optJSONObject(j));
} else {
Log.d("StoriesAds", "Fetched ad " + item2.optString("id"));
}
}
try {
oldItems.optJSONObject(i).put("stories", newItems2);
} catch (JSONException e) {
Log.e("StoriesAds", e.getMessage());
}
}
}
}
return json;
}
public static JSONObject music(JSONObject json) throws JSONException{
var catalog = json.optJSONObject("catalog");
@@ -40,7 +40,7 @@
# virtual methods
.method public a(Lorg/json/JSONObject;)Lcom/vk/dto/stories/model/GetStoriesResponse;
.locals 1
.locals 2
.param p1 # Lorg/json/JSONObject;
.annotation build Landroidx/annotation/NonNull;
.end annotation
@@ -57,7 +57,9 @@
.line 3
new-instance v0, Lcom/vk/dto/stories/model/GetStoriesResponse;
invoke-direct {v0, p1}, Lcom/vk/dto/stories/model/GetStoriesResponse;-><init>(Lorg/json/JSONObject;)V
const v1, 0x1
invoke-direct {v0, p1, v1}, Lcom/vk/dto/stories/model/GetStoriesResponse;-><init>(Lorg/json/JSONObject;Z)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
@@ -51,7 +51,7 @@
# virtual methods
.method public a(Lorg/json/JSONObject;)Lcom/vk/dto/stories/model/GetStoriesResponse;
.locals 1
.locals 2
.param p1 # Lorg/json/JSONObject;
.annotation build Landroidx/annotation/NonNull;
.end annotation
@@ -68,7 +68,9 @@
.line 3
new-instance v0, Lcom/vk/dto/stories/model/GetStoriesResponse;
invoke-direct {v0, p1}, Lcom/vk/dto/stories/model/GetStoriesResponse;-><init>(Lorg/json/JSONObject;)V
const v1, 0x1
invoke-direct {v0, p1, v1}, Lcom/vk/dto/stories/model/GetStoriesResponse;-><init>(Lorg/json/JSONObject;Z)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
@@ -40,7 +40,7 @@
# virtual methods
.method public a(Lorg/json/JSONObject;)Lcom/vk/dto/stories/model/GetStoriesResponse;
.locals 1
.locals 2
.param p1 # Lorg/json/JSONObject;
.annotation build Landroidx/annotation/NonNull;
.end annotation
@@ -57,7 +57,9 @@
.line 3
new-instance v0, Lcom/vk/dto/stories/model/GetStoriesResponse;
invoke-direct {v0, p1}, Lcom/vk/dto/stories/model/GetStoriesResponse;-><init>(Lorg/json/JSONObject;)V
const v1, 0x1
invoke-direct {v0, p1, v1}, Lcom/vk/dto/stories/model/GetStoriesResponse;-><init>(Lorg/json/JSONObject;Z)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
@@ -205,9 +205,203 @@
return-void
.end method
.method public constructor <init>(Lorg/json/JSONObject;Z)V
.locals 7
invoke-static {p1, p2}, Lru/vtosters/lite/hooks/JsonInjectors;->storiesads(Lorg/json/JSONObject;Z)Lorg/json/JSONObject;
move-result-object p1
.line 16
invoke-direct {p0}, Lcom/vk/core/serialize/Serializer$StreamParcelableAdapter;-><init>()V
.line 17
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->b:Ljava/util/ArrayList;
const/4 v0, 0x0
const/4 v1, 0x0
if-nez p1, :cond_0
.line 18
iput v0, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->a:I
.line 19
iput-object v1, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->c:Lcom/vk/dto/stories/model/StoriesAds;
goto/16 :goto_3
:cond_0
const-string v2, "need_upload_screen"
.line 20
invoke-virtual {p1, v2, v0}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
move-result v2
const-string v3, "count"
.line 21
invoke-virtual {p1, v3}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result v3
if-nez v3, :cond_1
goto :goto_0
:cond_1
move v0, v2
:goto_0
if-eqz v0, :cond_2
.line 22
iget v2, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->d:I
add-int/lit8 v2, v2, 0x1
iput v2, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->d:I
:cond_2
add-int/2addr v3, v0
.line 23
iput v3, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->a:I
.line 24
new-instance v2, Landroid/util/SparseArray;
invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
const-string v3, "profiles"
.line 25
invoke-virtual {p1, v3}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
invoke-direct {p0, v2, v3}, Lcom/vk/dto/stories/model/GetStoriesResponse;->b(Landroid/util/SparseArray;Lorg/json/JSONArray;)V
.line 26
new-instance v3, Landroid/util/SparseArray;
invoke-direct {v3}, Landroid/util/SparseArray;-><init>()V
const-string v4, "groups"
.line 27
invoke-virtual {p1, v4}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v4
invoke-direct {p0, v3, v4}, Lcom/vk/dto/stories/model/GetStoriesResponse;->a(Landroid/util/SparseArray;Lorg/json/JSONArray;)V
const-string v4, "items"
.line 28
invoke-virtual {p1, v4}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v5
iget-object v6, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->b:Ljava/util/ArrayList;
invoke-static {v5, v6, v2, v3}, Lcom/vk/dto/stories/model/GetStoriesResponse;->a(Lorg/json/JSONArray;Ljava/util/Collection;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
invoke-static {}, Lru/vtosters/lite/hooks/StoriesHook;->ads()Ljava/lang/String;
move-result-object v5
.line 29
invoke-virtual {p1, v5}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
if-eqz p1, :cond_4
.line 30
sget-object v5, Lcom/vk/dto/stories/model/StoriesAds$Settings;->h:Lcom/vk/dto/stories/model/StoriesAds$Settings$a;
const-string v6, "settings"
invoke-virtual {p1, v6}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v6
invoke-virtual {v5, v6}, Lcom/vk/dto/stories/model/StoriesAds$Settings$a;->a(Lorg/json/JSONObject;)Lcom/vk/dto/stories/model/StoriesAds$Settings;
move-result-object v5
.line 31
new-instance v6, Ljava/util/ArrayList;
invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V
.line 32
invoke-virtual {p1, v4}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p1
invoke-static {p1, v6, v2, v3}, Lcom/vk/dto/stories/model/GetStoriesResponse;->a(Lorg/json/JSONArray;Ljava/util/Collection;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
if-eqz v5, :cond_3
.line 33
new-instance p1, Lcom/vk/dto/stories/model/StoriesAds;
invoke-direct {p1, v5, v6}, Lcom/vk/dto/stories/model/StoriesAds;-><init>(Lcom/vk/dto/stories/model/StoriesAds$Settings;Ljava/util/List;)V
goto :goto_1
:cond_3
move-object p1, v1
:goto_1
iput-object p1, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->c:Lcom/vk/dto/stories/model/StoriesAds;
goto :goto_2
.line 34
:cond_4
iput-object v1, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->c:Lcom/vk/dto/stories/model/StoriesAds;
:goto_2
if-eqz v0, :cond_5
.line 35
new-instance p1, Lcom/vk/dto/stories/model/PublishStoryEntry;
invoke-direct {p1}, Lcom/vk/dto/stories/model/PublishStoryEntry;-><init>()V
.line 36
new-instance v0, Lcom/vk/dto/stories/model/PublishStoryContainer;
invoke-direct {v0, v1, p1}, Lcom/vk/dto/stories/model/PublishStoryContainer;-><init>(Lcom/vk/dto/stories/model/StoryOwner;Lcom/vk/dto/stories/model/PublishStoryEntry;)V
.line 37
iget-object p1, p0, Lcom/vk/dto/stories/model/GetStoriesResponse;->b:Ljava/util/ArrayList;
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_5
:goto_3
return-void
.end method
.method public constructor <init>(Lorg/json/JSONObject;)V
.locals 7
const v0, 0x0
invoke-static {p1, v0}, Lru/vtosters/lite/hooks/JsonInjectors;->storiesads(Lorg/json/JSONObject;Z)Lorg/json/JSONObject;
move-result-object p1
.line 16
invoke-direct {p0}, Lcom/vk/core/serialize/Serializer$StreamParcelableAdapter;-><init>()V