Merge "Only grant visibility to result reciever" into rvc-dev am: 3759b4ce9d

Change-Id: I9c7262df4a022355eb60a53e96d4355616251e92
This commit is contained in:
Automerger Merge Worker
2020-03-09 20:28:07 +00:00

View File

@@ -1570,10 +1570,16 @@ class ActivityStarter {
mService.mUgmInternal.grantUriPermissionFromIntent(mCallingUid, mStartActivity.packageName, mService.mUgmInternal.grantUriPermissionFromIntent(mCallingUid, mStartActivity.packageName,
mIntent, mStartActivity.getUriPermissionsLocked(), mStartActivity.mUserId); mIntent, mStartActivity.getUriPermissionsLocked(), mStartActivity.mUserId);
mService.getPackageManagerInternalLocked().grantImplicitAccess( if (mStartActivity.resultTo != null && mStartActivity.resultTo.info != null) {
mStartActivity.mUserId, mIntent, // we need to resolve resultTo to a uid as grantImplicitAccess deals explicitly in UIDs
UserHandle.getAppId(mStartActivity.info.applicationInfo.uid), mCallingUid, final PackageManagerInternal pmInternal =
true /*direct*/); mService.getPackageManagerInternalLocked();
final int resultToUid = pmInternal.getPackageUidInternal(
mStartActivity.resultTo.info.packageName, 0, mStartActivity.mUserId);
pmInternal.grantImplicitAccess(mStartActivity.mUserId, mIntent,
UserHandle.getAppId(mStartActivity.info.applicationInfo.uid) /*recipient*/,
resultToUid /*visible*/, true /*direct*/);
}
if (newTask) { if (newTask) {
EventLogTags.writeWmCreateTask(mStartActivity.mUserId, EventLogTags.writeWmCreateTask(mStartActivity.mUserId,
mStartActivity.getTask().mTaskId); mStartActivity.getTask().mTaskId);