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

Commit 59e325d9 authored by Nate Myren's avatar Nate Myren Committed by Automerger Merge Worker
Browse files

Ensure storage permission revoke happens for all users am: 37acd7ee

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

Change-Id: I90d73ed220a537e8ff6567c0d0010643302e07b1
parents 9fb1845e 37acd7ee
Loading
Loading
Loading
Loading
+22 −15
Original line number Diff line number Diff line
@@ -2293,10 +2293,11 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        }

        final int callingUid = Binder.getCallingUid();
        final int userId = UserHandle.getUserId(newPackage.getUid());
        for (int userId: mUserManagerInt.getUserIds()) {
            int numRequestedPermissions = newPackage.getRequestedPermissions().size();
            for (int i = 0; i < numRequestedPermissions; i++) {
            PermissionInfo permInfo = getPermissionInfo(newPackage.getRequestedPermissions().get(i),
                PermissionInfo permInfo = getPermissionInfo(
                        newPackage.getRequestedPermissions().get(i),
                        newPackage.getPackageName(), 0);
                if (permInfo == null || !STORAGE_PERMISSIONS.contains(permInfo.name)) {
                    continue;
@@ -2308,8 +2309,14 @@ public class PermissionManagerService extends IPermissionManager.Stub {
                                + downgradedSdk + " or newly requested legacy full storage "
                                + newlyRequestsLegacy);

                try {
                    revokeRuntimePermissionInternal(permInfo.name, newPackage.getPackageName(),
                            false, callingUid, userId, null, permissionCallback);
                } catch (IllegalStateException | SecurityException e) {
                    Log.e(TAG, "unable to revoke " + permInfo.name + " for "
                            + newPackage.getPackageName() + " user " + userId, e);
                }
            }
        }

    }