Merge "In addition to checking for GET_APP_OPS_STATS permission, require running in the same process or being instrumented to access stack trace collection API."

This commit is contained in:
TreeHugger Robot
2021-01-06 19:35:58 +00:00
committed by Android (Google) Code Review

View File

@@ -6143,6 +6143,12 @@ public class AppOpsService extends IAppOpsService.Stub {
/** Pulls current AppOps access report and resamples package and app op to watch */
@Override
public @Nullable RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage() {
ActivityManagerInternal ami = LocalServices.getService(ActivityManagerInternal.class);
boolean isCallerInstrumented = ami.isUidCurrentlyInstrumented(Binder.getCallingUid());
boolean isCallerSystem = Binder.getCallingPid() == Process.myPid();
if (!isCallerSystem && !isCallerInstrumented) {
return null;
}
mContext.enforcePermission(android.Manifest.permission.GET_APP_OPS_STATS,
Binder.getCallingPid(), Binder.getCallingUid(), null);
RuntimeAppOpAccessMessage result;