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

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

Merge "Sync app ops for all runtime permissions in PermissionPolicyService."

parents 5422be2f 4bf9a32c
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -1558,7 +1558,6 @@ public class PermissionManagerService extends IPermissionManager.Stub {
            }
        };

        final AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
        for (int i = 0; i < permissionCount; i++) {
            final String permName = pkg.requestedPermissions.get(i);
            final BasePermission bp;
@@ -1624,16 +1623,9 @@ public class PermissionManagerService extends IPermissionManager.Stub {

            // If this permission was granted by default, make sure it is.
            if ((oldFlags & FLAG_PERMISSION_GRANTED_BY_DEFAULT) != 0) {
                // PermissionPolicyService will handle the app op for runtime permissions later.
                grantRuntimePermissionInternal(permName, packageName, false,
                        Process.SYSTEM_UID, userId, delayingPermCallback);
                // Allow app op later as we are holding mPackages
                // PermissionPolicyService will handle the app op for foreground/background
                // permissions.
                String appOp = AppOpsManager.permissionToOp(permName);
                if (appOp != null) {
                    mHandler.post(() -> appOpsManager.setUidMode(appOp, uid,
                            AppOpsManager.MODE_ALLOWED));
                }
            // If permission review is enabled the permissions for a legacy apps
            // are represented as constantly granted runtime ones, so don't revoke.
            } else if ((flags & FLAG_PERMISSION_REVIEW_REQUIRED) == 0) {
+1 −2
Original line number Diff line number Diff line
@@ -499,8 +499,7 @@ public final class PermissionPolicyService extends SystemService {

        private void addPermissionAppOp(@NonNull PackageInfo packageInfo,
                @NonNull PermissionInfo permissionInfo) {
            // TODO: Sync all permissions in the future.
            if (!permissionInfo.isRestricted() && permissionInfo.backgroundPermission == null) {
            if (!permissionInfo.isRuntime()) {
                return;
            }