From bfd049637fcacfeb61897ad5ffcaf1a61c76dfdd Mon Sep 17 00:00:00 2001 From: LoveSy Date: Mon, 2 Jan 2023 16:36:44 +0800 Subject: [PATCH] Add deoptimize interfaces --- .../io/github/libxposed/XposedContextWrapper.java | 11 +++++++++++ .../java/io/github/libxposed/XposedInterface.java | 4 ++++ .../java/org/lsposed/lspd/impl/LSPosedContext.java | 12 ++++++++++++ 3 files changed, 27 insertions(+) diff --git a/core/src/main/java/io/github/libxposed/XposedContextWrapper.java b/core/src/main/java/io/github/libxposed/XposedContextWrapper.java index 50086f9e..59bc0b0c 100644 --- a/core/src/main/java/io/github/libxposed/XposedContextWrapper.java +++ b/core/src/main/java/io/github/libxposed/XposedContextWrapper.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.ContextWrapper; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.lang.reflect.Constructor; import java.lang.reflect.Method; @@ -74,6 +75,16 @@ public class XposedContextWrapper extends ContextWrapper implements XposedInterf return getBaseContext().hook(origin, hooker); } + @Override + public boolean deoptimize(@Nullable Method method) { + return getBaseContext().deoptimize(method); + } + + @Override + public boolean deoptimize(@Nullable Constructor constructor) { + return getBaseContext().deoptimize(constructor); + } + @Override final public void log(@NonNull String message) { getBaseContext().log(message); diff --git a/core/src/main/java/io/github/libxposed/XposedInterface.java b/core/src/main/java/io/github/libxposed/XposedInterface.java index 06058245..2dae95d5 100644 --- a/core/src/main/java/io/github/libxposed/XposedInterface.java +++ b/core/src/main/java/io/github/libxposed/XposedInterface.java @@ -105,6 +105,10 @@ public interface XposedInterface { MethodUnhooker>, Constructor> hook(@NonNull Constructor origin, @NonNull MethodHooker> hooker); + boolean deoptimize(@Nullable Method method); + + boolean deoptimize(@Nullable Constructor constructor); + void log(@NonNull String message); void log(@NonNull String message, @NonNull Throwable throwable); 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 1207eacc..85d6282f 100644 --- a/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java +++ b/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java @@ -775,6 +775,18 @@ public class LSPosedContext extends XposedContext { return null; } + // TODO + @Override + public boolean deoptimize(@Nullable Method method) { + return false; + } + + // TODO + @Override + public boolean deoptimize(@Nullable Constructor constructor) { + return false; + } + @Override public void log(@NonNull String message) { Log.i(TAG, mPackageName + ": " + message);