小修补
Some checks failed
Android CI / build (push) Failing after 14m56s

This commit is contained in:
MoonLeeeaf
2024-10-26 11:00:44 +08:00
parent 59c457675d
commit 3a57d0b23f
2 changed files with 38 additions and 54 deletions

View File

@@ -232,20 +232,37 @@ public class Hook implements IXposedHookLoadPackage {
filters.add(nwf);
}
XposedBridge.hookMethod(
getMethod(
XposedHelpers.findClass("com.codemao.nemo.bean.LatestWorks", classLoader),
"getLimit",
null //List.class
),
new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam mp) throws Throwable {
return 100;
}
}
);
XposedBridge.hookMethod(
getMethod(
XposedHelpers.findClass("com.codemao.nemo.bean.LatestWorks", classLoader),
"getItems",
null
null //List.class
),
new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam mp) throws Throwable {
List ls = (List) XposedHelpers.getObjectField(mp.thisObject, "items");
List ls = (List) XposedHelpers.getObjectField(mp.thisObject, "items"); // mp.args[0]; //
ArrayList al = new ArrayList();
int passed = 0;
for (Object o : ls) {
String workName = (String) XposedHelpers.getObjectField(o, "work_name");
String userId = "" + XposedHelpers.getLongField(o, "user_id");
@@ -255,6 +272,7 @@ public class Hook implements IXposedHookLoadPackage {
for (NewestWorksFilter filter : filters) {
if (filter.matches(userId, workName)) {
disadd = true;
passed++;
break;
}
}
@@ -268,7 +286,18 @@ public class Hook implements IXposedHookLoadPackage {
al.add(o);
}
// XposedHelpers.setObjectField(mp.thisObject, "items", al);
int offset = XposedHelpers.getIntField(mp.thisObject, "offset");
XposedHelpers.setIntField(mp.thisObject, "offset", offset + passed);
int total = XposedHelpers.getIntField(mp.thisObject, "total");
// XposedHelpers.setIntField(mp.thisObject, "total", total - passed);
XposedBridge.log("[FuckMaoNemo] 过滤完毕 原数据: offset=" + offset + " total=" + total);
return al;
// return null;
}
}
);