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

Commit 2e4a4af7 authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Change scan flags before applying policy

Change-Id: I902e4d8eb4297e1d03ebc6d492773e1e10605689
Fixes: 71891222
Test: sideload GMS core and reboot
Test: notice that GMS core remained system & privileged and kept all of its permissions
parent 4402aca9
Loading
Loading
Loading
Loading
+42 −41
Original line number Diff line number Diff line
@@ -9604,10 +9604,11 @@ public class PackageManagerService extends IPackageManager.Stub
            this.originalPkgSetting = originalPkgSetting;
            this.realPkgName = realPkgName;
            this.parseFlags = parseFlags;
            this.scanFlags = adjustScanFlags(scanFlags, pkgSetting, disabledPkgSetting, user);
            this.scanFlags = scanFlags;
            this.isPlatformPackage = isPlatformPackage;
            this.user = user;
        }
    }
    /**
     * Returns the actual scan flags depending upon the state of the other settings.
@@ -9651,11 +9652,10 @@ public class PackageManagerService extends IPackageManager.Stub
        }
        return scanFlags;
    }
    }
    @GuardedBy("mInstallLock")
    private PackageParser.Package scanPackageNewLI(@NonNull PackageParser.Package pkg,
            final @ParseFlags int parseFlags, final @ScanFlags int scanFlags, long currentTime,
            final @ParseFlags int parseFlags, @ScanFlags int scanFlags, long currentTime,
            @Nullable UserHandle user) throws PackageManagerException {
        final String renamedPkgName = mSettings.getRenamedPackageLPr(pkg.mRealPackage);
@@ -9673,6 +9673,7 @@ public class PackageManagerService extends IPackageManager.Stub
                    + " was transferred to another, but its .apk remains");
        }
        scanFlags = adjustScanFlags(scanFlags, pkgSetting, disabledPkgSetting, user);
        synchronized (mPackages) {
            applyPolicy(pkg, parseFlags, scanFlags);
            assertPackageIsValid(pkg, parseFlags, scanFlags);