Loading services/core/java/com/android/server/pm/DeletePackageHelper.java +20 −11 Original line number Diff line number Diff line Loading @@ -251,21 +251,30 @@ final class DeletePackageHelper { if (priorUserStates != null) { synchronized (mPm.mLock) { PackageSetting pkgSetting = mPm.getPackageSettingForMutation(packageName); if (pkgSetting != null) { AndroidPackage aPkg = pkgSetting.getPkg(); boolean pkgEnabled = aPkg != null && aPkg.isEnabled(); for (int i = 0; i < allUsers.length; i++) { TempUserState priorUserState = priorUserStates.get(allUsers[i]); int enabledState = priorUserState.enabledState; PackageSetting pkgSetting = mPm.getPackageSettingForMutation(packageName); pkgSetting.setEnabled(enabledState, allUsers[i], priorUserState.lastDisableAppCaller); AndroidPackage aPkg = pkgSetting.getPkg(); boolean pkgEnabled = aPkg != null && aPkg.isEnabled(); if (!reEnableStub && priorUserState.installed && ((enabledState == COMPONENT_ENABLED_STATE_DEFAULT && pkgEnabled) && ( (enabledState == COMPONENT_ENABLED_STATE_DEFAULT && pkgEnabled) || enabledState == COMPONENT_ENABLED_STATE_ENABLED)) { reEnableStub = true; } } } else { // This should not happen. If priorUserStates != null, we are uninstalling // an update of a system app. In that case, mPm.mSettings.getPackageLpr() // should return a non-null value for the target packageName because // restoreDisabledSystemPackageLIF() is called during deletePackageLIF(). Slog.w(TAG, "Missing PackageSetting after uninstalling the update for" + " system app: " + packageName + ". This should not happen."); } mPm.mSettings.writeAllUsersPackageRestrictionsLPr(); } } Loading services/core/java/com/android/server/pm/InitAndSystemPackageHelper.java +3 −3 Original line number Diff line number Diff line Loading @@ -126,13 +126,13 @@ final class InitAndSystemPackageHelper { return null; } public OverlayConfig setUpSystemPackages( public OverlayConfig initPackages( WatchedArrayMap<String, PackageSetting> packageSettings, int[] userIds, long startTime) { PackageParser2 packageParser = mPm.mInjector.getScanningCachingPackageParser(); ExecutorService executorService = ParallelPackageParser.makeExecutorService(); // Prepare apex package info before scanning APKs, these information are needed when // Prepare apex package info before scanning APKs, this information is needed when // scanning apk in apex. mPm.mApexManager.scanApexPackagesTraced(packageParser, executorService); Loading Loading @@ -289,7 +289,7 @@ final class InitAndSystemPackageHelper { long currentTime, PackageParser2 packageParser, ExecutorService executorService) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanDir [" + scanDir.getAbsolutePath() + "]"); try { mInstallPackageHelper.installSystemPackagesFromDir(scanDir, parseFlags, scanFlags, mInstallPackageHelper.installPackagesFromDir(scanDir, parseFlags, scanFlags, currentTime, packageParser, executorService); } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -3720,7 +3720,7 @@ final class InstallPackageHelper { } @GuardedBy({"mPm.mInstallLock", "mPm.mLock"}) public void installSystemPackagesFromDir(File scanDir, int parseFlags, int scanFlags, public void installPackagesFromDir(File scanDir, int parseFlags, int scanFlags, long currentTime, PackageParser2 packageParser, ExecutorService executorService) { final File[] files = scanDir.listFiles(); if (ArrayUtils.isEmpty(files)) { Loading services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1975,7 +1975,7 @@ public class PackageManagerService extends IPackageManager.Stub mIsEngBuild, mIsUserDebugBuild, mIncrementalVersion); final int[] userIds = mUserManager.getUserIds(); mOverlayConfig = mInitAndSystemPackageHelper.setUpSystemPackages(packageSettings, mOverlayConfig = mInitAndSystemPackageHelper.initPackages(packageSettings, userIds, startTime); // Resolve the storage manager. Loading Loading
services/core/java/com/android/server/pm/DeletePackageHelper.java +20 −11 Original line number Diff line number Diff line Loading @@ -251,21 +251,30 @@ final class DeletePackageHelper { if (priorUserStates != null) { synchronized (mPm.mLock) { PackageSetting pkgSetting = mPm.getPackageSettingForMutation(packageName); if (pkgSetting != null) { AndroidPackage aPkg = pkgSetting.getPkg(); boolean pkgEnabled = aPkg != null && aPkg.isEnabled(); for (int i = 0; i < allUsers.length; i++) { TempUserState priorUserState = priorUserStates.get(allUsers[i]); int enabledState = priorUserState.enabledState; PackageSetting pkgSetting = mPm.getPackageSettingForMutation(packageName); pkgSetting.setEnabled(enabledState, allUsers[i], priorUserState.lastDisableAppCaller); AndroidPackage aPkg = pkgSetting.getPkg(); boolean pkgEnabled = aPkg != null && aPkg.isEnabled(); if (!reEnableStub && priorUserState.installed && ((enabledState == COMPONENT_ENABLED_STATE_DEFAULT && pkgEnabled) && ( (enabledState == COMPONENT_ENABLED_STATE_DEFAULT && pkgEnabled) || enabledState == COMPONENT_ENABLED_STATE_ENABLED)) { reEnableStub = true; } } } else { // This should not happen. If priorUserStates != null, we are uninstalling // an update of a system app. In that case, mPm.mSettings.getPackageLpr() // should return a non-null value for the target packageName because // restoreDisabledSystemPackageLIF() is called during deletePackageLIF(). Slog.w(TAG, "Missing PackageSetting after uninstalling the update for" + " system app: " + packageName + ". This should not happen."); } mPm.mSettings.writeAllUsersPackageRestrictionsLPr(); } } Loading
services/core/java/com/android/server/pm/InitAndSystemPackageHelper.java +3 −3 Original line number Diff line number Diff line Loading @@ -126,13 +126,13 @@ final class InitAndSystemPackageHelper { return null; } public OverlayConfig setUpSystemPackages( public OverlayConfig initPackages( WatchedArrayMap<String, PackageSetting> packageSettings, int[] userIds, long startTime) { PackageParser2 packageParser = mPm.mInjector.getScanningCachingPackageParser(); ExecutorService executorService = ParallelPackageParser.makeExecutorService(); // Prepare apex package info before scanning APKs, these information are needed when // Prepare apex package info before scanning APKs, this information is needed when // scanning apk in apex. mPm.mApexManager.scanApexPackagesTraced(packageParser, executorService); Loading Loading @@ -289,7 +289,7 @@ final class InitAndSystemPackageHelper { long currentTime, PackageParser2 packageParser, ExecutorService executorService) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanDir [" + scanDir.getAbsolutePath() + "]"); try { mInstallPackageHelper.installSystemPackagesFromDir(scanDir, parseFlags, scanFlags, mInstallPackageHelper.installPackagesFromDir(scanDir, parseFlags, scanFlags, currentTime, packageParser, executorService); } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -3720,7 +3720,7 @@ final class InstallPackageHelper { } @GuardedBy({"mPm.mInstallLock", "mPm.mLock"}) public void installSystemPackagesFromDir(File scanDir, int parseFlags, int scanFlags, public void installPackagesFromDir(File scanDir, int parseFlags, int scanFlags, long currentTime, PackageParser2 packageParser, ExecutorService executorService) { final File[] files = scanDir.listFiles(); if (ArrayUtils.isEmpty(files)) { Loading
services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1975,7 +1975,7 @@ public class PackageManagerService extends IPackageManager.Stub mIsEngBuild, mIsUserDebugBuild, mIncrementalVersion); final int[] userIds = mUserManager.getUserIds(); mOverlayConfig = mInitAndSystemPackageHelper.setUpSystemPackages(packageSettings, mOverlayConfig = mInitAndSystemPackageHelper.initPackages(packageSettings, userIds, startTime); // Resolve the storage manager. Loading