Skip to content
This repository has been archived by the owner on Jun 17, 2024. It is now read-only.

Commit

Permalink
fix oplus
Browse files Browse the repository at this point in the history
  • Loading branch information
5ec1cff committed May 27, 2024
1 parent f9a1c13 commit 2339c46
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public void onPackageLoaded(@NonNull PackageLoadedParam param) {
}
}
break;
case "com.oplus.appplatform":
try {
hookOplusAppPlatform(classLoader);
} catch (Throwable t) {
if (!(t instanceof ClassNotFoundException)) {
log("hook OPlusAppPlatform failed", t);
}
}
try {
hookScreenCapture(classLoader);
} catch (Throwable t) {
log("hook ScreenCapture failed", t);
}
break;
case "com.android.systemui":
case "com.miui.screenshot":
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S &&
Expand Down Expand Up @@ -266,6 +280,13 @@ private void hookOplusNew(ClassLoader classLoader) throws ClassNotFoundException
hookMethods(screenshotContextClazz, ReturnNullHooker.class, "setScreenshotReject", "setLongshotReject");
}

private void hookOplusAppPlatform(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
// com.oplus.appplatform.providers.OplusSurfaceControlProvider
var screenshotHardwareBufferClazz = classLoader.loadClass("android.window.ScreenCapture$ScreenshotHardwareBuffer");
var method = screenshotHardwareBufferClazz.getDeclaredMethod("containsSecureLayers");
hook(method, ReturnFalseHooker.class);
}

private void hookMethods(Class<?> clazz, Class<? extends Hooker> hooker, String... names) {
var list = Arrays.asList(names);
Arrays.stream(clazz.getDeclaredMethods())
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/resources/META-INF/xposed/scope.list
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ system
com.android.systemui
com.flyme.systemuiex
com.oplus.screenshot
com.miui.screenshot
com.miui.screenshot
com.oplus.appplatform

0 comments on commit 2339c46

Please sign in to comment.