Fix the PMS live computer
Bug: 180050592 The live computer was created before PackageManagerService mInstantAppResolverConnection was initialized. Unfortunately, the live computer is used to initialized mInstantAppResolverConnection. This change rebuilds the live computer after mInstantAppResolverConnection is finally initialized. Two additional cleanups are included, related to the use of the live computer. 1. The ComputerEngineLocked now extends ComputerEngineLive. The Locked class inherits the overriedes from the Live class, and the now-redundant overrides in the Locked class are removed. 2. mSnapshotComputer is initialized to null in the constructor for PackageManager Service. The snapshot should not be used until the end of the constructor; setting the attribute to null will trigger an NPE if the snapshot is used improperly. See the bug description for specific tests. Instant apps are now launched correctly. All atests pass 100%. Test: atest * FrameworksServicesTests:AppsFilterTest * FrameworksServicesTests:PackageInstallerSessionTest * FrameworksServicesTests:PackageManagerServiceTest * FrameworksServicesTests:PackageManagerSettingsTests * FrameworksServicesTests:ScanTests * FrameworksServicesTests:UserSystemPackageInstallerTest * PackageManagerServiceBootTest * UserLifecycleTests#startUser * UserLifecycleTests#stopUser * UserLifecycleTests#switchUser * android.appsecurity.cts.EphemeralTest * android.appsecurity.cts.InstantAppUserTest Change-Id: Ic7e5a3ae9d661e2a7079d40a0f1a1ca6dc5badf2
Loading
Please register or sign in to comment