Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +23 −6 Original line number Diff line number Diff line Loading @@ -1049,6 +1049,18 @@ final class InstallPackageHelper { } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); } if (Flags.improveInstallFreeze()) { // Postpone freezer until after reconcile for (ReconciledPackage reconciledPkg : reconciledPackages) { InstallRequest installRequest = reconciledPkg.mInstallRequest; String packageName = installRequest.getParsedPackage().getPackageName(); PackageFreezer freezer = freezePackageForInstall(packageName, UserHandle.USER_ALL, installRequest.getInstallFlags(), "installPackageLI", ApplicationExitInfo.REASON_PACKAGE_UPDATED, installRequest); installRequest.setFreezer(freezer); } } try { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "commitPackages"); commitPackagesLocked(reconciledPackages, mPm.mUserManager.getUserIds()); Loading Loading @@ -1613,9 +1625,12 @@ final class InstallPackageHelper { parsedPackage.setBaseApkPath(request.getApexInfo().modulePath); } final PackageFreezer freezer = freezePackageForInstall(pkgName, UserHandle.USER_ALL, installFlags, PackageFreezer freezer = null; if (!Flags.improveInstallFreeze()) { freezer = freezePackageForInstall(pkgName, UserHandle.USER_ALL, installFlags, "installPackageLI", ApplicationExitInfo.REASON_PACKAGE_UPDATED, request); } boolean shouldCloseFreezerBeforeReturn = true; try { Loading Loading @@ -1865,12 +1880,14 @@ final class InstallPackageHelper { oldPackageState, parsedPackage, archivedPackage, replace /* clearCodeCache */, sysPkg, ps, disabledPs); } finally { if (freezer != null) { request.setFreezer(freezer); if (shouldCloseFreezerBeforeReturn) { freezer.close(); } } } } /** * Rename package into final resting place. All paths on the given Loading Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +23 −6 Original line number Diff line number Diff line Loading @@ -1049,6 +1049,18 @@ final class InstallPackageHelper { } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); } if (Flags.improveInstallFreeze()) { // Postpone freezer until after reconcile for (ReconciledPackage reconciledPkg : reconciledPackages) { InstallRequest installRequest = reconciledPkg.mInstallRequest; String packageName = installRequest.getParsedPackage().getPackageName(); PackageFreezer freezer = freezePackageForInstall(packageName, UserHandle.USER_ALL, installRequest.getInstallFlags(), "installPackageLI", ApplicationExitInfo.REASON_PACKAGE_UPDATED, installRequest); installRequest.setFreezer(freezer); } } try { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "commitPackages"); commitPackagesLocked(reconciledPackages, mPm.mUserManager.getUserIds()); Loading Loading @@ -1613,9 +1625,12 @@ final class InstallPackageHelper { parsedPackage.setBaseApkPath(request.getApexInfo().modulePath); } final PackageFreezer freezer = freezePackageForInstall(pkgName, UserHandle.USER_ALL, installFlags, PackageFreezer freezer = null; if (!Flags.improveInstallFreeze()) { freezer = freezePackageForInstall(pkgName, UserHandle.USER_ALL, installFlags, "installPackageLI", ApplicationExitInfo.REASON_PACKAGE_UPDATED, request); } boolean shouldCloseFreezerBeforeReturn = true; try { Loading Loading @@ -1865,12 +1880,14 @@ final class InstallPackageHelper { oldPackageState, parsedPackage, archivedPackage, replace /* clearCodeCache */, sysPkg, ps, disabledPs); } finally { if (freezer != null) { request.setFreezer(freezer); if (shouldCloseFreezerBeforeReturn) { freezer.close(); } } } } /** * Rename package into final resting place. All paths on the given Loading