OSDN Git Service

pm: PackageBackwardCompatibility -> applyPolicy
authorSteven Moreland <smoreland@google.com>
Wed, 6 Mar 2019 17:20:37 +0000 (09:20 -0800)
committerSteven Moreland <smoreland@google.com>
Tue, 12 Mar 2019 21:44:08 +0000 (21:44 +0000)
This moves PackageBackwardCompatibility from parsePackage to
applyPolicy.

The motivation of this is to expose partition information to these
files. Specifically, to expose whether the app is a pre-installed
(or updated pre-installed app) for certain backwards compatibility
rules that should only apply to these cases.

Bug: 86259915
Test: boot Pixel 2
Test: Pixel 3: atest -p cts/tests/signature
- all passed except for CtsSystemApiAnnotationTestCases test which
  failed (known issue b/124210145)
Change-Id: Ic824f06489781233dc98bf3dc0182681d32f7142

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

index ecb9dbf..d710d57 100644 (file)
@@ -3857,8 +3857,6 @@ public class PackageParser {
         // every activity info has had a chance to set it from its attributes.
         setMaxAspectRatio(owner);
 
-        PackageBackwardCompatibility.modifySharedLibraries(owner);
-
         if (hasDomainURLs(owner)) {
             owner.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS;
         } else {
index a98e2d3..2f510a7 100644 (file)
@@ -168,6 +168,7 @@ import android.content.pm.InstantAppRequest;
 import android.content.pm.InstantAppResolveInfo;
 import android.content.pm.InstrumentationInfo;
 import android.content.pm.IntentFilterVerificationInfo;
+import android.content.pm.PackageBackwardCompatibility;
 import android.content.pm.KeySet;
 import android.content.pm.PackageCleanItem;
 import android.content.pm.PackageInfo;
@@ -11043,6 +11044,8 @@ public class PackageManagerService extends IPackageManager.Stub
             pkg.mRealPackage = null;
             pkg.mAdoptPermissions = null;
         }
+
+        PackageBackwardCompatibility.modifySharedLibraries(pkg);
     }
 
     private static @NonNull <T> T assertNotNull(@Nullable T object, String message)