From 00b1fa3cad39cab1f7da1e2aee55f964582c256c Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 20 Feb 2024 00:39:16 +0300 Subject: [PATCH] added posts menu hooks --- .../java/ru/vtosters/hooks/PostsMenuHook.java | 21 +++++++++++++++++++ .../com/vk/discover/DiscoverFragment.smali | 11 ++++++++++ .../NewsEntryActionsMenuBuilder.smali | 4 ++++ .../newsfeed/PostViewActionsMenuBuilder.smali | 4 ++++ .../presenters/EntriesListPresenter.smali | 12 ++++++++++- .../com/vk/wall/post/PostViewPresenter.smali | 11 ++++++++++ 6 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java diff --git a/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java b/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java new file mode 100644 index 000000000..4b7f8f8b4 --- /dev/null +++ b/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java @@ -0,0 +1,21 @@ +package ru.vtosters.hooks; + +import com.vk.dto.newsfeed.entries.NewsEntry; +import com.vk.newsfeed.NewsEntryActionsAdapter; +import ru.vtosters.lite.utils.AndroidUtils; + +public class PostsMenuHook { + private static final int id = 200; + + public static void injectList(NewsEntryActionsAdapter actionsAdapter, NewsEntry newsEntry) { + actionsAdapter.a(id, "SponsorPost"); + } + + public static void injectButtons(int i, NewsEntry newsEntry) { + AndroidUtils.sendToast("SponsorPost"); + } + + public static boolean isCustomButton(int i) { + return i == id; + } +} diff --git a/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali b/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali index dc20e63e3..e57a8cd0a 100644 --- a/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali +++ b/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali @@ -891,6 +891,17 @@ if-eqz v0, :cond_a + invoke-static {p1}, Lru/vtosters/hooks/PostsMenuHook;->isCustomButton(I)Z + + move-result v2 + + if-eqz v2, :cond_99 + + invoke-static {p1, p2}, Lru/vtosters/hooks/PostsMenuHook;->injectButtons(ILcom/vk/dto/newsfeed/entries/NewsEntry;)V + + return-void + + :cond_99 invoke-static {v0}, Lcom/vk/core/util/ContextExtKt;->e(Landroid/content/Context;)Landroid/app/Activity; move-result-object v2 diff --git a/smali/smali_classes3/com/vk/newsfeed/NewsEntryActionsMenuBuilder.smali b/smali/smali_classes3/com/vk/newsfeed/NewsEntryActionsMenuBuilder.smali index aa26d4ffd..be72808a8 100644 --- a/smali/smali_classes3/com/vk/newsfeed/NewsEntryActionsMenuBuilder.smali +++ b/smali/smali_classes3/com/vk/newsfeed/NewsEntryActionsMenuBuilder.smali @@ -1536,6 +1536,10 @@ invoke-virtual {v0, v1, v2}, Lcom/vk/newsfeed/NewsEntryActionsAdapter;->a(ILjava/lang/CharSequence;)V :cond_26 + iget-object v1, p0, Lcom/vk/newsfeed/NewsEntryActionsMenuBuilder;->e:Lcom/vk/dto/newsfeed/entries/NewsEntry; + + invoke-static {v0, v1}, Lru/vtosters/hooks/PostsMenuHook;->injectList(Lcom/vk/newsfeed/NewsEntryActionsAdapter;Lcom/vk/dto/newsfeed/entries/NewsEntry;)V + return-object p1 .end method diff --git a/smali/smali_classes3/com/vk/newsfeed/PostViewActionsMenuBuilder.smali b/smali/smali_classes3/com/vk/newsfeed/PostViewActionsMenuBuilder.smali index 5e00df72f..1d67e03dd 100644 --- a/smali/smali_classes3/com/vk/newsfeed/PostViewActionsMenuBuilder.smali +++ b/smali/smali_classes3/com/vk/newsfeed/PostViewActionsMenuBuilder.smali @@ -1367,6 +1367,10 @@ invoke-virtual {v1, v2, v3, v4}, Lcom/vk/newsfeed/NewsEntryActionsAdapter;->b(III)V :cond_35 + iget-object v2, v0, Lcom/vk/newsfeed/PostViewActionsMenuBuilder;->b:Lcom/vk/dto/newsfeed/entries/NewsEntry; + + invoke-static {v1, v2}, Lru/vtosters/hooks/PostsMenuHook;->injectList(Lcom/vk/newsfeed/NewsEntryActionsAdapter;Lcom/vk/dto/newsfeed/entries/NewsEntry;)V + return-object v17 .end method diff --git a/smali/smali_classes3/com/vk/newsfeed/presenters/EntriesListPresenter.smali b/smali/smali_classes3/com/vk/newsfeed/presenters/EntriesListPresenter.smali index c89e77057..e93773735 100644 --- a/smali/smali_classes3/com/vk/newsfeed/presenters/EntriesListPresenter.smali +++ b/smali/smali_classes3/com/vk/newsfeed/presenters/EntriesListPresenter.smali @@ -2860,7 +2860,17 @@ invoke-static {v2, v0}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - .line 76 + invoke-static {p2}, Lru/vtosters/hooks/PostsMenuHook;->isCustomButton(I)Z + + move-result v3 + + if-eqz v3, :cond_20 + + invoke-static {p2, p3}, Lru/vtosters/hooks/PostsMenuHook;->injectButtons(ILcom/vk/dto/newsfeed/entries/NewsEntry;)V + + goto/16 :goto_1 + + :cond_20 invoke-interface {p0}, Lcom/vk/newsfeed/contracts/EntriesListContract;->v0()Ljava/lang/String; move-result-object v3 diff --git a/smali/smali_classes4/com/vk/wall/post/PostViewPresenter.smali b/smali/smali_classes4/com/vk/wall/post/PostViewPresenter.smali index 8d3f40abb..7d543530c 100644 --- a/smali/smali_classes4/com/vk/wall/post/PostViewPresenter.smali +++ b/smali/smali_classes4/com/vk/wall/post/PostViewPresenter.smali @@ -3797,6 +3797,17 @@ if-eqz v4, :cond_6 + invoke-static {p1}, Lru/vtosters/hooks/PostsMenuHook;->isCustomButton(I)Z + + move-result v3 + + if-eqz v3, :cond_20 + + invoke-static {p1, v4}, Lru/vtosters/hooks/PostsMenuHook;->injectButtons(ILcom/vk/dto/newsfeed/entries/NewsEntry;)V + + goto/16 :goto_5 + + :cond_20 const/4 v1, 0x1 const/4 v2, 0x0