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

Commit f7a10927 authored by Lee Shombert's avatar Lee Shombert Committed by Automerger Merge Worker
Browse files

Merge "Fix the PMS live computer" into sc-dev am: 3c039830

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13720012

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8ca2c265f42553d9d893c3fb082bee16bd76cf25
parents 81b13089 3c039830
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -4634,7 +4634,7 @@ public class PackageManagerService extends IPackageManager.Stub
     * computer engine.  This is required because there are no locks taken in
     * the engine itself.
     */
    private static class ComputerLocked extends ComputerEngine {
    private static class ComputerLocked extends ComputerEngineLive {
        private final Object mLock;
        ComputerLocked(Snapshot args) {
@@ -4642,16 +4642,6 @@ public class PackageManagerService extends IPackageManager.Stub
            mLock = mService.mLock;
        }
        protected ComponentName resolveComponentName() {
            return mService.mResolveComponentName;
        }
        protected ActivityInfo instantAppInstallerActivity() {
            return mService.mInstantAppInstallerActivity;
        }
        protected ApplicationInfo androidApplication() {
            return mService.mAndroidApplication;
        }
        public @NonNull List<ResolveInfo> queryIntentServicesInternalBody(Intent intent,
                String resolvedType, int flags, int userId, int callingUid,
                String instantAppPkgName) {
@@ -4781,8 +4771,9 @@ public class PackageManagerService extends IPackageManager.Stub
    }
    // Compute read-only functions, based on live data.
    private final Computer mLiveComputer;
    // Compute read-only functions, based on live data.  This attribute may be modified multiple
    // times during the PackageManagerService constructor but it should not be modified thereafter.
    private Computer mLiveComputer;
    // A lock-free cache for frequently called functions.
    private volatile Computer mSnapshotComputer;
    // If true, the snapshot is invalid (stale).  The attribute is static since it may be
@@ -6401,8 +6392,9 @@ public class PackageManagerService extends IPackageManager.Stub
        // constructor.
        mSnapshotEnabled = SNAPSHOT_ENABLED;
        sSnapshotCorked = true;
        sSnapshotInvalid = true;
        mLiveComputer = createLiveComputer();
        mSnapshotComputer = mLiveComputer;
        mSnapshotComputer = null;
        registerObserver();
        // CHECKSTYLE:OFF IndentationCheck
@@ -7081,6 +7073,10 @@ public class PackageManagerService extends IPackageManager.Stub
                        BOOT_TIME_EVENT_DURATION__EVENT__OTA_PACKAGE_MANAGER_INIT_TIME,
                        SystemClock.uptimeMillis() - startTime);
            }
            // Rebild the live computer since some attributes have been rebuilt.
            mLiveComputer = createLiveComputer();
        } // synchronized (mLock)
        } // synchronized (mInstallLock)
        // CHECKSTYLE:ON IndentationCheck