Fix oplus

This commit is contained in:
tehcneko 2024-03-13 17:20:42 +08:00
parent e58a818f92
commit 9143d52b8f

View File

@ -157,11 +157,7 @@ public class DisableFlagSecure extends XposedModule {
private void hookHyperOS(ClassLoader classLoader) throws ClassNotFoundException { private void hookHyperOS(ClassLoader classLoader) throws ClassNotFoundException {
var windowManagerServiceImplClazz = classLoader.loadClass("com.android.server.wm.WindowManagerServiceImpl"); var windowManagerServiceImplClazz = classLoader.loadClass("com.android.server.wm.WindowManagerServiceImpl");
for (var method : windowManagerServiceImplClazz.getDeclaredMethods()) { hookMethods(windowManagerServiceImplClazz, ReturnFalseHooker.class, "notAllowCaptureDisplay");
if (method.getName().equals("notAllowCaptureDisplay")) {
hook(method, ReturnFalseHooker.class);
}
}
} }
private void hookFlyme(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException { private void hookFlyme(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
@ -172,10 +168,14 @@ public class DisableFlagSecure extends XposedModule {
private void hookOplus(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException { private void hookOplus(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
var screenshotContextClazz = classLoader.loadClass("com.oplus.screenshot.screenshot.core.ScreenshotContext"); var screenshotContextClazz = classLoader.loadClass("com.oplus.screenshot.screenshot.core.ScreenshotContext");
var method = screenshotContextClazz.getDeclaredMethod("setScreenshotReject"); hookMethods(screenshotContextClazz, ReturnNullHooker.class, "setScreenshotReject", "setLongshotReject");
hook(method, ReturnNullHooker.class); }
method = screenshotContextClazz.getDeclaredMethod("setLongshotReject");
hook(method, ReturnNullHooker.class); private void hookMethods(Class<?> clazz, Class<? extends Hooker> hooker, String... names) {
var list = Arrays.asList(names);
Arrays.stream(clazz.getDeclaredMethods())
.filter(method -> list.contains(method.getName()))
.forEach(method -> hook(method, hooker));
} }
private void hookOnResume() throws NoSuchMethodException { private void hookOnResume() throws NoSuchMethodException {