From ee0bfdf9b6298b7d8fc4e4a7453257ce49c99128 Mon Sep 17 00:00:00 2001 From: tehcneko Date: Mon, 27 May 2024 17:07:38 +0800 Subject: [PATCH] support new oplus methods --- .../disableflagsecure/DisableFlagSecure.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/lsposed/disableflagsecure/DisableFlagSecure.java b/app/src/main/java/io/github/lsposed/disableflagsecure/DisableFlagSecure.java index bca99fa..873adb6 100644 --- a/app/src/main/java/io/github/lsposed/disableflagsecure/DisableFlagSecure.java +++ b/app/src/main/java/io/github/lsposed/disableflagsecure/DisableFlagSecure.java @@ -76,6 +76,13 @@ public class DisableFlagSecure extends XposedModule { } catch (Throwable t) { log("hook OPlus failed", t); } + try { + hookOplusNew(classLoader); + } catch (Throwable t) { + if (!(t instanceof ClassNotFoundException)) { + log("hook OPlus failed", t); + } + } break; default: try { @@ -151,11 +158,16 @@ public class DisableFlagSecure extends XposedModule { hook(method, ReturnFalseHooker.class); } - private void hookOplus(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException { + private void hookOplus(ClassLoader classLoader) throws ClassNotFoundException { var screenshotContextClazz = classLoader.loadClass("com.oplus.screenshot.screenshot.core.ScreenshotContext"); hookMethods(screenshotContextClazz, ReturnNullHooker.class, "setScreenshotReject", "setLongshotReject"); } + private void hookOplusNew(ClassLoader classLoader) throws ClassNotFoundException { + var screenshotContextClazz = classLoader.loadClass("com.oplus.screenshot.screenshot.core.ScreenshotContentContext"); + hookMethods(screenshotContextClazz, ReturnNullHooker.class, "setScreenshotReject", "setLongshotReject"); + } + private void hookMethods(Class clazz, Class hooker, String... names) { var list = Arrays.asList(names); Arrays.stream(clazz.getDeclaredMethods())