OSDN Git Service

Remove obsolete & broken handling of precompiled sys apps
authorCalin Juravle <calin@google.com>
Tue, 26 Sep 2017 01:13:38 +0000 (18:13 -0700)
committerCalin Juravle <calin@google.com>
Tue, 26 Sep 2017 21:46:18 +0000 (21:46 +0000)
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 efc022768eba2f33d3fadbda7eaa6adf1730d3fc)

Merged-In: I981e463d61c42ab8455d489ff86cc300632a2a90
Change-Id: I981e463d61c42ab8455d489ff86cc300632a2a90

services/core/java/com/android/server/pm/PackageManagerService.java

index d129118..6bad582 100644 (file)
@@ -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