From 9c7dacbf1ff34a76b4579e20e2ab2146d8129c50 Mon Sep 17 00:00:00 2001 From: AoEiuV020 Date: Mon, 14 Mar 2022 23:39:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=98=85=E8=AF=BB=E9=A1=B5?= =?UTF-8?q?=E5=8E=BB=E5=B9=BF=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化性能, --- .../cc/aoeiuv020/hookpicacg/MainHook.java | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/hook/src/main/java/cc/aoeiuv020/hookpicacg/MainHook.java b/hook/src/main/java/cc/aoeiuv020/hookpicacg/MainHook.java index 5664734..bd84434 100644 --- a/hook/src/main/java/cc/aoeiuv020/hookpicacg/MainHook.java +++ b/hook/src/main/java/cc/aoeiuv020/hookpicacg/MainHook.java @@ -105,31 +105,22 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable { XposedHelpers.findAndHookMethod( "com.picacomic.fregata.adapters.ComicPageRecyclerViewAdapter", lpparam.classLoader, - "onBindViewHolder", - XposedHelpers.findClass("android.support.v7.widget.RecyclerView$ViewHolder", lpparam.classLoader), + "onCreateViewHolder", + ViewGroup.class, int.class, new XC_MethodHook() { @Override - protected void beforeHookedMethod(MethodHookParam param) throws Throwable { - XposedBridge.log("beforeHookedMethod: ComicPageRecyclerViewAdapter.onBindViewHolder"); - Object viewHolder = param.args[0]; - if (!TextUtils.equals(viewHolder.getClass().getName(), "com.picacomic.fregata.holders.AdvertisementListViewHolder")) { + protected void afterHookedMethod(MethodHookParam param) throws Throwable { + XposedBridge.log("afterHookedMethod: ComicPageRecyclerViewAdapter.onCreateViewHolder"); + Object result = param.getResult(); + if (!TextUtils.equals(result.getClass().getName(), "com.picacomic.fregata.holders.AdvertisementListViewHolder")) { return; } - View webView_ads = (View) XposedHelpers.getObjectField(viewHolder, "itemView"); + View webView_ads = (View) XposedHelpers.getObjectField(result, "itemView"); webView_ads.setVisibility(View.GONE); Object lp = XposedHelpers.newInstance(XposedHelpers.findClass("android.support.v7.widget.RecyclerView$LayoutParams", lpparam.classLoader), 0, 0); webView_ads.setLayoutParams((ViewGroup.LayoutParams) lp); } - - @Override - protected void afterHookedMethod(MethodHookParam param) throws Throwable { - XposedBridge.log("afterHookedMethod: HomeFragment.onCreateView"); - View viewPager_banner = (View) XposedHelpers.getObjectField(param.thisObject, "viewPager_banner"); - ((View) (viewPager_banner.getParent())).setVisibility(View.GONE); - View linearLayout_announcements = (View) XposedHelpers.getObjectField(param.thisObject, "linearLayout_announcements"); - linearLayout_announcements.setVisibility(View.GONE); - } }); } }