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

Commit b54d8fc0 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:...

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

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

Change-Id: I19258376976332ac994d7a6ba18ad90e6cf4b6e7
parents 5b7bac3e 5b81952e
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
@@ -12365,7 +12365,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) {