xposed-audiocapture-hook/lib/ModuleMainOld.kt.not

36 lines
1.4 KiB
Plaintext

package sh.tablet.recorderhook
import io.github.libxposed.api.XposedInterface
import io.github.libxposed.api.XposedInterface.BeforeHookCallback
import io.github.libxposed.api.XposedModule
import io.github.libxposed.api.XposedModuleInterface
import io.github.libxposed.api.XposedModuleInterface.ModuleLoadedParam
import io.github.libxposed.api.annotations.BeforeInvocation
import io.github.libxposed.api.annotations.XposedHooker
private lateinit var module: ModuleMainOld
class ModuleMainOld(base: XposedInterface, param: ModuleLoadedParam) : XposedModule(base, param) {
init {
log("Main module @ " + param.processName)
module = this
}
@XposedHooker
class PermHooker() : XposedInterface.Hooker {
companion object {
@JvmStatic
@BeforeInvocation
fun beforeInvocation(cb: BeforeHookCallback) {
cb.returnAndSkip(true)
}
}
}
override fun onPackageLoaded(param: XposedModuleInterface.PackageLoadedParam) {
super.onPackageLoaded(param)
if(param.packageName != "android") return
val apc = Class.forName("com.android.server.pm.parsing.pkg.PackageImpl")::class.java.getDeclaredMethod("isAllowAudioPlaybackCapture")
hook(apc, PermHooker::class.java)
// var m = TypedArray::class.java.getDeclaredMethod("getBoolean", Int::class.java, Boolean::class.java)
}
}