// Allow signature permissions to com.android.tv.settings
// private boolean grantSignaturePermission(String perm, PackageParser.Package pkg,
// BasePermission bp, PermissionsState origPermissions)
XposedHelpers.findAndHookMethod(pmServiceClass, "grantSignaturePermission", String.class, CLASS_PACKAGE_PARSER_PACKAGE, CLASS_BASE_PERMISSION, CLASS_PERMISSION_STATE, new XC_MethodHook() {
@SuppressWarnings("unchecked")
@Override protected void afterHookedMethod(XC_MethodHook.MethodHookParam param)
throws Throwable {
// if (BuildConfig.DEBUG) Log.d(TAG, "### IN grantSignaturePermission for " + param.args[0]);
final String pkgName = (String) XposedHelpers
.getObjectField(param.args[1], "packageName");
if (pkgName.contentEquals(PermFixer.SYS_PACKAGE)) {
if (BuildConfig.DEBUG) Log.d(TAG, "### grantSignaturePermission for " + pkgName);
param.setResult(true);
}
}
});
} catch (Throwable t) {
// unused
}