From 2461a6c767d40d7e13fa753f403f8748373ea8b1 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Thu, 5 Jan 2023 09:54:28 +0800 Subject: [PATCH] Refine names --- .../de/robv/android/xposed/XposedBridge.java | 7 +- .../org/lsposed/lspd/impl/LSPosedContext.java | 44 ++++++------ .../org/lsposed/lspd/impl/LSPosedUtils.java | 71 ------------------- .../libxposed/XposedContextWrapper.java | 30 ++++---- .../io/github/libxposed/XposedInterface.java | 45 +++++++----- .../java/io/github/libxposed/XposedUtils.java | 26 ------- 6 files changed, 66 insertions(+), 157 deletions(-) delete mode 100644 core/src/main/java/org/lsposed/lspd/impl/LSPosedUtils.java delete mode 100644 libxposed/api/src/main/java/io/github/libxposed/XposedUtils.java diff --git a/core/src/main/java/de/robv/android/xposed/XposedBridge.java b/core/src/main/java/de/robv/android/xposed/XposedBridge.java index fee436bf..628cdbcf 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedBridge.java +++ b/core/src/main/java/de/robv/android/xposed/XposedBridge.java @@ -43,7 +43,6 @@ import java.util.concurrent.CopyOnWriteArraySet; import de.robv.android.xposed.callbacks.XC_InitPackageResources; import de.robv.android.xposed.callbacks.XC_LoadPackage; import io.github.libxposed.XposedInterface; -import io.github.libxposed.XposedModuleInterface; /** * This class contains most of Xposed's central logic, such as initialization and callbacks used by @@ -455,8 +454,8 @@ public final class XposedBridge { var cb = callbacksSnapshot[beforeIdx]; if (HookBridge.instanceOf(cb, XC_MethodHook.class)) { ((XC_MethodHook) cb).beforeHookedMethod(param); - } else if (HookBridge.instanceOf(cb, XposedInterface.BeforeMethodHooker.class)) { - ((XposedInterface.BeforeMethodHooker) cb).before(param); + } else if (HookBridge.instanceOf(cb, XposedInterface.BeforeHooker.class)) { + ((XposedInterface.BeforeHooker) cb).before(param); } } catch (Throwable t) { XposedBridge.log(t); @@ -494,7 +493,7 @@ public final class XposedBridge { if (HookBridge.instanceOf(cb, XC_MethodHook.class)) { ((XC_MethodHook) cb).afterHookedMethod(param); } else if (HookBridge.instanceOf(cb, XposedInterface.AfterHookCallback.class)) { - ((XposedInterface.AfterMethodHooker) cb).after(param); + ((XposedInterface.AfterHooker) cb).after(param); } } catch (Throwable t) { XposedBridge.log(t); diff --git a/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java b/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java index d02991c9..b88b01af 100644 --- a/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java +++ b/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java @@ -64,7 +64,6 @@ import de.robv.android.xposed.XposedInit; import io.github.libxposed.XposedContext; import io.github.libxposed.XposedModule; import io.github.libxposed.XposedModuleInterface; -import io.github.libxposed.XposedUtils; public class LSPosedContext extends XposedContext { @@ -795,63 +794,74 @@ public class LSPosedContext extends XposedContext { } @Override - public MethodUnhooker, Method> hookBefore(@NonNull Method origin, @NonNull BeforeMethodHooker hooker) { + @Nullable + public MethodUnhooker, Method> hookBefore(@NonNull Method origin, @NonNull BeforeHooker hooker) { return doHook(origin, PRIORITY_DEFAULT, hooker); } @Override - public MethodUnhooker, Method> hookAfter(@NonNull Method origin, @NonNull AfterMethodHooker hooker) { + @Nullable + public MethodUnhooker, Method> hookAfter(@NonNull Method origin, @NonNull AfterHooker hooker) { return doHook(origin, PRIORITY_DEFAULT, hooker); } @Override - public MethodUnhooker, Method> hook(@NonNull Method origin, @NonNull MethodHooker hooker) { + @Nullable + public MethodUnhooker, Method> hook(@NonNull Method origin, @NonNull Hooker hooker) { return doHook(origin, PRIORITY_DEFAULT, hooker); } @Override - public MethodUnhooker, Method> hookBefore(@NonNull Method origin, int priority, @NonNull BeforeMethodHooker hooker) { + @Nullable + public MethodUnhooker, Method> hookBefore(@NonNull Method origin, int priority, @NonNull BeforeHooker hooker) { return doHook(origin, priority, hooker); } @Override - public MethodUnhooker, Method> hookAfter(@NonNull Method origin, int priority, @NonNull AfterMethodHooker hooker) { + @Nullable + public MethodUnhooker, Method> hookAfter(@NonNull Method origin, int priority, @NonNull AfterHooker hooker) { return doHook(origin, priority, hooker); } @Override - public MethodUnhooker, Method> hook(@NonNull Method origin, int priority, @NonNull MethodHooker hooker) { + @Nullable + public MethodUnhooker, Method> hook(@NonNull Method origin, int priority, @NonNull Hooker hooker) { return doHook(origin, priority, hooker); } @Override - public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, @NonNull BeforeMethodHooker> hooker) { + @Nullable + public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, @NonNull BeforeHooker> hooker) { return doHook(origin, PRIORITY_DEFAULT, hooker); } @Override - public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, @NonNull AfterMethodHooker> hooker) { + @Nullable + public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, @NonNull AfterHooker> hooker) { return doHook(origin, PRIORITY_DEFAULT, hooker); } @Override - public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull MethodHooker> hooker) { + @Nullable + public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull Hooker> hooker) { return doHook(origin, PRIORITY_DEFAULT, hooker); } - // TODO @Override - public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, int priority, @NonNull BeforeMethodHooker> hooker) { + @Nullable + public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, int priority, @NonNull BeforeHooker> hooker) { return doHook(origin, priority, hooker); } @Override - public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, int priority, @NonNull AfterMethodHooker> hooker) { + @Nullable + public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, int priority, @NonNull AfterHooker> hooker) { return doHook(origin, priority, hooker); } @Override - public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, int priority, @NonNull MethodHooker> hooker) { + @Nullable + public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, int priority, @NonNull Hooker> hooker) { return doHook(origin, priority, hooker); } @@ -874,12 +884,6 @@ public class LSPosedContext extends XposedContext { return doDeoptimize(constructor); } - @Nullable - @Override - public XposedUtils getUtils() { - return new LSPosedUtils(this); - } - @Override public synchronized void log(@NonNull String message) { Log.i(TAG, mPackageName + ": " + message); diff --git a/core/src/main/java/org/lsposed/lspd/impl/LSPosedUtils.java b/core/src/main/java/org/lsposed/lspd/impl/LSPosedUtils.java deleted file mode 100644 index c85dc080..00000000 --- a/core/src/main/java/org/lsposed/lspd/impl/LSPosedUtils.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.lsposed.lspd.impl; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import org.apache.commons.lang3.ClassUtils; - -import java.lang.reflect.Field; - -import de.robv.android.xposed.XposedHelpers; -import io.github.libxposed.XposedUtils; - -public class LSPosedUtils implements XposedUtils { - private final LSPosedContext context; - - LSPosedUtils(LSPosedContext context) { - this.context = context; - } - - @NonNull - @Override - public Class findClass(@NonNull String className, @Nullable ClassLoader classLoader) throws ClassNotFoundException { - return (Class) ClassUtils.getClass(classLoader, className.replace('/', '.'), false); - } - - @Nullable - @Override - public Class findClassOrNull(@NonNull String className, @Nullable ClassLoader classLoader) { - try { - return findClass(className, classLoader); - } catch (ClassNotFoundException e) { - return null; - } - } - - @NonNull - @Override - public Field findField(@NonNull Class clazz, @NonNull String fieldName) throws NoSuchFieldException { - try { - return XposedHelpers.findField(clazz, fieldName); - } catch (NoSuchFieldError e) { - throw new NoSuchFieldException(e.getMessage()); - } - } - - @Override - public Field findFieldOrNull(@NonNull Class clazz, @NonNull String fieldName) { - try { - return findField(clazz, fieldName); - } catch (NoSuchFieldException e) { - return null; - } - } - - @NonNull - @Override - public Field findField(@NonNull String className, @NonNull String fieldName, @Nullable ClassLoader classLoader) throws ClassNotFoundException, NoSuchFieldException { - var clazz = findClass(className, classLoader); - return findField(clazz, fieldName); - } - - @Nullable - @Override - public Field findFieldOrNull(@NonNull String className, @NonNull String fieldName, @Nullable ClassLoader classLoader) { - try { - return findField(className, fieldName, classLoader); - } catch (ClassNotFoundException | NoSuchFieldException e) { - return null; - } - } -} diff --git a/libxposed/api/src/main/java/io/github/libxposed/XposedContextWrapper.java b/libxposed/api/src/main/java/io/github/libxposed/XposedContextWrapper.java index e69b6582..64b8e7da 100644 --- a/libxposed/api/src/main/java/io/github/libxposed/XposedContextWrapper.java +++ b/libxposed/api/src/main/java/io/github/libxposed/XposedContextWrapper.java @@ -46,62 +46,62 @@ public class XposedContextWrapper extends ContextWrapper implements XposedInterf } @Override - public MethodUnhooker, Method> hookBefore(@NonNull Method origin, @NonNull BeforeMethodHooker hooker) { + public MethodUnhooker, Method> hookBefore(@NonNull Method origin, @NonNull BeforeHooker hooker) { return getBaseContext().hookBefore(origin, hooker); } @Override - public MethodUnhooker, Method> hookAfter(@NonNull Method origin, @NonNull AfterMethodHooker hooker) { + public MethodUnhooker, Method> hookAfter(@NonNull Method origin, @NonNull AfterHooker hooker) { return getBaseContext().hookAfter(origin, hooker); } @Override - public MethodUnhooker, Method> hook(@NonNull Method origin, @NonNull MethodHooker hooker) { + public MethodUnhooker, Method> hook(@NonNull Method origin, @NonNull Hooker hooker) { return getBaseContext().hook(origin, hooker); } @Override - public MethodUnhooker, Method> hookBefore(@NonNull Method origin, int priority, @NonNull BeforeMethodHooker hooker) { + public MethodUnhooker, Method> hookBefore(@NonNull Method origin, int priority, @NonNull BeforeHooker hooker) { return getBaseContext().hookBefore(origin, priority, hooker); } @Override - public MethodUnhooker, Method> hookAfter(@NonNull Method origin, int priority, @NonNull AfterMethodHooker hooker) { + public MethodUnhooker, Method> hookAfter(@NonNull Method origin, int priority, @NonNull AfterHooker hooker) { return getBaseContext().hookAfter(origin, priority, hooker); } @Override - public MethodUnhooker, Method> hook(@NonNull Method origin, int priority, @NonNull MethodHooker hooker) { + public MethodUnhooker, Method> hook(@NonNull Method origin, int priority, @NonNull Hooker hooker) { return getBaseContext().hook(origin, priority, hooker); } @Override - public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, @NonNull BeforeMethodHooker> hooker) { + public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, @NonNull BeforeHooker> hooker) { return getBaseContext().hookBefore(origin, hooker); } @Override - public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, @NonNull AfterMethodHooker> hooker) { + public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, @NonNull AfterHooker> hooker) { return getBaseContext().hookAfter(origin, hooker); } @Override - public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull MethodHooker> hooker) { + public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull Hooker> hooker) { return getBaseContext().hook(origin, hooker); } @Override - public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, int priority, @NonNull BeforeMethodHooker> hooker) { + public MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, int priority, @NonNull BeforeHooker> hooker) { return getBaseContext().hookBefore(origin, priority, hooker); } @Override - public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, int priority, @NonNull AfterMethodHooker> hooker) { + public MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, int priority, @NonNull AfterHooker> hooker) { return getBaseContext().hookAfter(origin, priority, hooker); } @Override - public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, int priority, @NonNull MethodHooker> hooker) { + public MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, int priority, @NonNull Hooker> hooker) { return getBaseContext().hook(origin, priority, hooker); } @@ -115,12 +115,6 @@ public class XposedContextWrapper extends ContextWrapper implements XposedInterf return getBaseContext().deoptimize(constructor); } - @Nullable - @Override - public XposedUtils getUtils() { - return getBaseContext().getUtils(); - } - @Override final public void log(@NonNull String message) { getBaseContext().log(message); diff --git a/libxposed/api/src/main/java/io/github/libxposed/XposedInterface.java b/libxposed/api/src/main/java/io/github/libxposed/XposedInterface.java index f66f38cd..ac673590 100644 --- a/libxposed/api/src/main/java/io/github/libxposed/XposedInterface.java +++ b/libxposed/api/src/main/java/io/github/libxposed/XposedInterface.java @@ -71,15 +71,15 @@ public interface XposedInterface { U getExtra(@NonNull String key); } - interface BeforeMethodHooker { + interface BeforeHooker { void before(@NonNull BeforeHookCallback callback); } - interface AfterMethodHooker { + interface AfterHooker { void after(@NonNull AfterHookCallback callback); } - interface MethodHooker extends BeforeMethodHooker, AfterMethodHooker { + interface Hooker extends BeforeHooker, AfterHooker { } interface MethodUnhooker { @@ -100,37 +100,46 @@ public interface XposedInterface { long getFrameworkVersionCode(); - MethodUnhooker, Method> hookBefore(@NonNull Method origin, @NonNull BeforeMethodHooker hooker); + @Nullable + MethodUnhooker, Method> hookBefore(@NonNull Method origin, @NonNull BeforeHooker hooker); - MethodUnhooker, Method> hookAfter(@NonNull Method origin, @NonNull AfterMethodHooker hooker); + @Nullable + MethodUnhooker, Method> hookAfter(@NonNull Method origin, @NonNull AfterHooker hooker); - MethodUnhooker, Method> hook(@NonNull Method origin, @NonNull MethodHooker hooker); + @Nullable + MethodUnhooker, Method> hook(@NonNull Method origin, @NonNull Hooker hooker); - MethodUnhooker, Method> hookBefore(@NonNull Method origin, int priority, @NonNull BeforeMethodHooker hooker); + @Nullable + MethodUnhooker, Method> hookBefore(@NonNull Method origin, int priority, @NonNull BeforeHooker hooker); - MethodUnhooker, Method> hookAfter(@NonNull Method origin, int priority, @NonNull AfterMethodHooker hooker); + @Nullable + MethodUnhooker, Method> hookAfter(@NonNull Method origin, int priority, @NonNull AfterHooker hooker); - MethodUnhooker, Method> hook(@NonNull Method origin, int priority, @NonNull MethodHooker hooker); + @Nullable + MethodUnhooker, Method> hook(@NonNull Method origin, int priority, @NonNull Hooker hooker); - MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, @NonNull BeforeMethodHooker> hooker); + @Nullable + MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, @NonNull BeforeHooker> hooker); - MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, @NonNull AfterMethodHooker> hooker); + @Nullable + MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, @NonNull AfterHooker> hooker); - MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull MethodHooker> hooker); + @Nullable + MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull Hooker> hooker); - MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, int priority, @NonNull BeforeMethodHooker> hooker); + @Nullable + MethodUnhooker>, Constructor> hookBefore(@NonNull Constructor origin, int priority, @NonNull BeforeHooker> hooker); - MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, int priority, @NonNull AfterMethodHooker> hooker); + @Nullable + MethodUnhooker>, Constructor> hookAfter(@NonNull Constructor origin, int priority, @NonNull AfterHooker> hooker); - MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, int priority, @NonNull MethodHooker> hooker); + @Nullable + MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, int priority, @NonNull Hooker> hooker); boolean deoptimize(@NonNull Method method); boolean deoptimize(@NonNull Constructor constructor); - @Nullable - XposedUtils getUtils(); - void log(@NonNull String message); void log(@NonNull String message, @NonNull Throwable throwable); diff --git a/libxposed/api/src/main/java/io/github/libxposed/XposedUtils.java b/libxposed/api/src/main/java/io/github/libxposed/XposedUtils.java deleted file mode 100644 index e4f01950..00000000 --- a/libxposed/api/src/main/java/io/github/libxposed/XposedUtils.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.libxposed; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import java.lang.reflect.Field; - -public interface XposedUtils { - @NonNull - Class findClass(@NonNull String className, @Nullable ClassLoader classLoader) throws ClassNotFoundException; - - @Nullable - Class findClassOrNull(@NonNull String className, @Nullable ClassLoader classLoader); - - @NonNull - Field findField(@NonNull Class clazz, @NonNull String fieldName) throws NoSuchFieldException; - - @Nullable - Field findFieldOrNull(@NonNull Class clazz, @NonNull String fieldName); - - @NonNull - Field findField(@NonNull String className, @NonNull String fieldName, @Nullable ClassLoader classLoader) throws ClassNotFoundException, NoSuchFieldException; - - @Nullable - Field findFieldOrNull(@NonNull String className, @NonNull String fieldName, @Nullable ClassLoader classLoader); -}