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

Commit 33fb4ef0 authored by Daniel Colascione's avatar Daniel Colascione
Browse files

RESTRICT AUTOMERGE: Cork permission and package cache around bulk permission update

Test: watch with DEBUG=true
Bug: 149255086
Bug: 140788621
Change-Id: I32f9b89ae1aaa718ef0eef7bc668cdef49ade151
parent f73a41c1
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -3901,11 +3901,16 @@ public class PermissionManagerService extends IPermissionManager.Stub {
     */
    private void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdated,
            @NonNull PermissionCallback callback) {
        PackageManager.corkPackageInfoCache();  // Prevent invalidation storm
        try {
            final int flags = UPDATE_PERMISSIONS_ALL |
                    (sdkUpdated
                            ? UPDATE_PERMISSIONS_REPLACE_PKG | UPDATE_PERMISSIONS_REPLACE_ALL
                            : 0);
            updatePermissions(null, null, volumeUuid, flags, callback);
        } finally {
            PackageManager.uncorkPackageInfoCache();
        }
    }

    /**