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 void onPackageLoaded(@NonNull PackageLoadedParam param) { } 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 @@ private void hookFlyme(ClassLoader classLoader) throws ClassNotFoundException, N 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())