From fb09513ca7af93a68be33dc951c4aca0ef288fda Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Mon, 3 Apr 2023 17:43:55 +0300 Subject: [PATCH] samsung best fix --- .../ru/vtosters/lite/hooks/NewsfeedHook.java | 20 +++++++++++++++++++ .../com/vk/discover/DiscoverFragment.smali | 16 +++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) 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 3dbbaefbc..a73388a77 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -12,7 +12,9 @@ import static ru.vtosters.lite.utils.Preferences.vkme; import android.content.Context; import android.os.PowerManager; +import androidx.recyclerview.widget.RecyclerView; import com.vk.core.preference.Preference; +import com.vk.discover.DiscoverItemDecorator; import com.vtosters.lite.api.ExtendedCommunityProfile; import java.util.ArrayList; @@ -37,6 +39,24 @@ public class NewsfeedHook { }; } + public static boolean samsungFixRem(RecyclerView recyclerView, DiscoverItemDecorator discoverItemDecorator) { + if (!recyclerView.isComputingLayout() && recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_IDLE) { + recyclerView.removeItemDecoration(discoverItemDecorator); + return true; + } + + return false; + } + + public static boolean samsungFixAdd(RecyclerView recyclerView, DiscoverItemDecorator discoverItemDecorator) { + if (!recyclerView.isComputingLayout() && recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_IDLE) { + recyclerView.addItemDecoration(discoverItemDecorator); + return true; + } + + return false; + } + public static List hideElement(ArrayList list) { if (!getBoolValue("whatsnew", true)) { list.clear(); diff --git a/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali b/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali index 0ce6c90ec..9a6e89297 100644 --- a/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali +++ b/smali/smali_classes2/com/vk/discover/DiscoverFragment.smali @@ -742,7 +742,13 @@ if-eqz v0, :cond_0 .line 50 - invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V + # invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V + + invoke-static {p1, v0}, Lru/vtosters/lite/hooks/NewsfeedHook;->samsungFixRem(Landroidx/recyclerview/widget/RecyclerView;Lcom/vk/discover/DiscoverItemDecorator;)Z + + move-result v0 + + if-eqz v0, :cond_2 .line 51 :cond_0 @@ -810,7 +816,13 @@ invoke-direct {v3, v4, v5, v1, v0}, Lcom/vk/discover/DiscoverItemDecorator;->(Lcom/vk/discover/DiscoverAdapter;Landroid/content/res/Resources;IZ)V .line 55 - invoke-virtual {p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V + # invoke-virtual {p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V + + invoke-static {p1, v3}, Lru/vtosters/lite/hooks/NewsfeedHook;->samsungFixAdd(Landroidx/recyclerview/widget/RecyclerView;Lcom/vk/discover/DiscoverItemDecorator;)Z + + move-result v0 + + if-eqz v0, :cond_2 .line 56 iput-object v3, p0, Lcom/vk/discover/DiscoverFragment;->K:Lcom/vk/discover/DiscoverItemDecorator;