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

Commit ea367637 authored by Patrick Baumann's avatar Patrick Baumann Committed by Automerger Merge Worker
Browse files

Merge "Remove then add during replace to reset vis" into rvc-dev am: 155007ab am: 2302ed04

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

Change-Id: I36f78f4602510b18e24d6758e966ea9cc6d71948
parents ee3c9da3 2302ed04
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -495,10 +495,15 @@ public class AppsFilter {
     * Adds a package that should be considered when filtering visibility between apps.
     *
     * @param newPkgSetting the new setting being added
     * @param isReplace if the package is being replaced and may need extra cleanup.
     */
    public void addPackage(PackageSetting newPkgSetting) {
    public void addPackage(PackageSetting newPkgSetting, boolean isReplace) {
        Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "filter.addPackage");
        try {
            if (isReplace) {
                // let's first remove any prior rules for this package
                removePackage(newPkgSetting);
            }
            mStateProvider.runWithState((settings, users) -> {
                addPackageInternal(newPkgSetting, settings);
                if (mShouldFilterCache != null) {
@@ -776,6 +781,15 @@ public class AppsFilter {
        return result;
    }

    /**
     * Equivalent to calling {@link #addPackage(PackageSetting, boolean)} with {@code isReplace}
     * equal to {@code false}.
     * @see AppsFilter#addPackage(PackageSetting, boolean)
     */
    public void addPackage(PackageSetting newPkgSetting) {
        addPackage(newPkgSetting, false /* isReplace */);
    }

    /**
     * Removes a package for consideration when filtering visibility between apps.
     *
+3 −1
Original line number Diff line number Diff line
@@ -12368,7 +12368,9 @@ public class PackageManagerService extends IPackageManager.Stub
            ksms.addScannedPackageLPw(pkg);
            mComponentResolver.addAllComponents(pkg, chatty);
            mAppsFilter.addPackage(pkgSetting);
            final boolean isReplace =
                    reconciledPkg.prepareResult != null && reconciledPkg.prepareResult.replace;
            mAppsFilter.addPackage(pkgSetting, isReplace);
            // Don't allow ephemeral applications to define new permissions groups.
            if ((scanFlags & SCAN_AS_INSTANT_APP) != 0) {