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

Commit a3c6c09c authored by Daniel Colascione's avatar Daniel Colascione
Browse files

Flush permission cache when we change delegates

Delegates can change the results of permission checks.  This change
assumes that delegate results are not dynamic, but that seems to be
the case in practice. Just in case, re-setting the delegate acts as a
cache flush.

Test: atest UiAutomationTest#testAdoptAllShellPermissions
Bug: b/150265749
Change-Id: I26e7330ebbdeaf2e7e282f3c770b962688aabf41
parent 9651ab2d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4471,6 +4471,9 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        @Override
        public void setCheckPermissionDelegate(CheckPermissionDelegate delegate) {
            synchronized (mLock) {
                if (delegate != null || mCheckPermissionDelegate != null) {
                    PackageManager.invalidatePackageInfoCache();
                }
                mCheckPermissionDelegate = delegate;
            }
        }