@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
boolean slice = ParceledListSliceCompat.isReturnParceledListSlice(method);
int userId = VUserHandle.myUserId();
List<ResolveInfo> appResult = VPackageManager.get().queryIntentReceivers((Intent) args[0], (String) args[1],
(Integer) args[2], userId);
Object _hostResult = method.invoke(who, args);
List<ResolveInfo> hostResult = slice ? ParceledListSlice.getList.call(_hostResult)
: (List) _hostResult;
Iterator<ResolveInfo> iterator = hostResult.iterator();
while (iterator.hasNext()) {
ResolveInfo info = iterator.next();
if (info == null || info.activityInfo == null || !isVisiblePackage(info.activityInfo.applicationInfo)) {
iterator.remove();
}
}
appResult.addAll(hostResult);
if (slice) {
return ParceledListSliceCompat.create(appResult);
}
return appResult;
}
MethodProxies.java 文件源码
java
阅读 36
收藏 0
点赞 0
评论 0
项目:VirtualHook
作者:
评论列表
文章目录