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

Commit 4f475cc1 authored by Calin Juravle's avatar Calin Juravle
Browse files

Remove obsolete & broken handling of precompiled sys apps

During the times we used verify-profile for OTAs we had to ensure that
prebuilds do not regress by verifying at runtime. For that we added a
hackish check in PMS.

Now, we no longer use verify-profile and we have no configuration which
will leave the prebuilds unverified (assume-verify does not count here).
So, we can remove this check which blocks system apps to be compiled with
speed-profile.

(Also worth mentioning that
!Environment.getReferenceProfile(pkg.packageName).exists() was broken...
most likely because of an SElinux policy update which we did not handled
:/ )

Bug: 66903791
Test: build & boot

(cherry picked from commit efc02276)

Merged-In: I981e463d61c42ab8455d489ff86cc300632a2a90
Change-Id: I981e463d61c42ab8455d489ff86cc300632a2a90
parent f53201f8
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -9780,19 +9780,6 @@ public class PackageManagerService extends IPackageManager.Stub
                }
            }
            // If the OTA updates a system app which was previously preopted to a non-preopted state
            // the app might end up being verified at runtime. That's because by default the apps
            // are verify-profile but for preopted apps there's no profile.
            // Do a hacky check to ensure that if we have no profiles (a reasonable indication
            // that before the OTA the app was preopted) the app gets compiled with a non-profile
            // filter (by default 'quicken').
            // Note that at this stage unused apps are already filtered.
            if (isSystemApp(pkg) &&
                    DexFile.isProfileGuidedCompilerFilter(compilerFilter) &&
                    !Environment.getReferenceProfile(pkg.packageName).exists()) {
                compilerFilter = getNonProfileGuidedCompilerFilter(compilerFilter);
            }
            // checkProfiles is false to avoid merging profiles during boot which
            // might interfere with background compilation (b/28612421).
            // Unfortunately this will also means that "pm.dexopt.boot=speed-profile" will