Merge "Ensure that SOFT_DENIED doesn't result in a call to finishOp" into sc-dev am: 50638c6a55

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14905110

Change-Id: I868d285dffbae05c0c235f298da895623bb899a3
This commit is contained in:
TreeHugger Robot
2021-06-08 22:14:50 +00:00
committed by Automerger Merge Worker

View File

@@ -5495,7 +5495,8 @@ public class PermissionManagerService extends IPermissionManager.Stub {
final int result = checkPermission(mContext, permission, attributionSource, message, final int result = checkPermission(mContext, permission, attributionSource, message,
forDataDelivery, startDataDelivery, fromDatasource, attributedOp); forDataDelivery, startDataDelivery, fromDatasource, attributedOp);
// Finish any started op if some step in the attribution chain failed. // Finish any started op if some step in the attribution chain failed.
if (startDataDelivery && result != PermissionChecker.PERMISSION_GRANTED) { if (startDataDelivery && result != PermissionChecker.PERMISSION_GRANTED
&& result != PermissionChecker.PERMISSION_SOFT_DENIED) {
if (attributedOp == AppOpsManager.OP_NONE) { if (attributedOp == AppOpsManager.OP_NONE) {
finishDataDelivery(AppOpsManager.permissionToOpCode(permission), finishDataDelivery(AppOpsManager.permissionToOpCode(permission),
attributionSource.asState(), fromDatasource); attributionSource.asState(), fromDatasource);