Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f5ed92f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update the BroadcastQueue logic for runtime permissions" into sc-qpr1-dev

parents 9e22069b 400ff61c
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -1568,17 +1568,23 @@ public final class BroadcastQueue {
                    perm = PackageManager.PERMISSION_DENIED;
                }

                if (perm == PackageManager.PERMISSION_GRANTED) {
                    skip = true;
                    break;
                }

                int appOp = AppOpsManager.permissionToOpCode(excludedPermission);
                if (appOp != AppOpsManager.OP_NONE) {
                    if (mService.getAppOpsManager().checkOpNoThrow(appOp,
                    // When there is an app op associated with the permission,
                    // skip when both the permission and the app op are
                    // granted.
                    if ((perm == PackageManager.PERMISSION_GRANTED) && (
                                mService.getAppOpsManager().checkOpNoThrow(appOp,
                                info.activityInfo.applicationInfo.uid,
                                info.activityInfo.packageName)
                            == AppOpsManager.MODE_ALLOWED) {
                            == AppOpsManager.MODE_ALLOWED)) {
                        skip = true;
                        break;
                    }
                } else {
                    // When there is no app op associated with the permission,
                    // skip when permission is granted.
                    if (perm == PackageManager.PERMISSION_GRANTED) {
                        skip = true;
                        break;
                    }