Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +63 −69 Original line number Diff line number Diff line Loading @@ -1205,8 +1205,6 @@ final class InstallPackageHelper { private boolean scanInstallPackages(List<InstallRequest> requests, Map<String, Boolean> createdAppId, Map<String, Settings.VersionInfo> versionInfos) { // TODO(b/362840929): remove locker try (PackageManagerTracedLock installLock = mPm.mInstallLock.acquireLock()) { final Set<String> scannedPackages = new ArraySet<>(requests.size()); for (InstallRequest request : requests) { final ParsedPackage packageToScan = request.getParsedPackage(); Loading @@ -1219,7 +1217,7 @@ final class InstallPackageHelper { final String packageName = packageToScan.getPackageName(); try { request.onScanStarted(); final ScanResult scanResult = scanPackageTracedLI(request.getParsedPackage(), final ScanResult scanResult = scanPackageTraced(request.getParsedPackage(), request.getParseFlags(), request.getScanFlags(), System.currentTimeMillis(), request.getUser(), request.getAbiOverride()); Loading Loading @@ -1271,7 +1269,6 @@ final class InstallPackageHelper { request.setResponsibleInstallerTitles(responsibleInstallerTitles); } } } return true; } Loading Loading @@ -1366,7 +1363,6 @@ final class InstallPackageHelper { } } @GuardedBy("mPm.mInstallLock") private boolean checkNoAppStorageIsConsistent(AndroidPackage oldPkg, AndroidPackage newPkg) { if (oldPkg == null) { // New install, nothing to check against. Loading Loading @@ -4119,14 +4115,13 @@ final class InstallPackageHelper { } } @GuardedBy("mPm.mInstallLock") private ScanResult scanPackageTracedLI(ParsedPackage parsedPackage, private ScanResult scanPackageTraced(ParsedPackage parsedPackage, final @ParsingPackageUtils.ParseFlags int parseFlags, @PackageManagerService.ScanFlags int scanFlags, long currentTime, @Nullable UserHandle user, String cpuAbiOverride) throws PackageManagerException { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanPackage"); try { return scanPackageNewLI(parsedPackage, parseFlags, scanFlags, currentTime, user, return scanPackageNew(parsedPackage, parseFlags, scanFlags, currentTime, user, cpuAbiOverride); } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); Loading Loading @@ -4203,8 +4198,7 @@ final class InstallPackageHelper { realPkgName, parseFlags, scanFlags, isPlatformPackage, user, cpuAbiOverride); } @GuardedBy("mPm.mInstallLock") private ScanResult scanPackageNewLI(@NonNull ParsedPackage parsedPackage, private ScanResult scanPackageNew(@NonNull ParsedPackage parsedPackage, final @ParsingPackageUtils.ParseFlags int parseFlags, @PackageManagerService.ScanFlags int scanFlags, long currentTime, @Nullable UserHandle user, String cpuAbiOverride) Loading Loading @@ -4235,7 +4229,7 @@ final class InstallPackageHelper { initialScanRequest.mOriginalPkgSetting, initialScanRequest.mRealPkgName, parseFlags, scanFlags, initialScanRequest.mIsPlatformPackage, user, cpuAbiOverride); return ScanPackageUtils.scanPackageOnlyLI(request, mPm.mInjector, mPm.mFactoryTest, return ScanPackageUtils.scanPackageOnly(request, mPm.mInjector, mPm.mFactoryTest, currentTime); } } Loading Loading @@ -4289,7 +4283,7 @@ final class InstallPackageHelper { ScanPackageUtils.applyPolicy(parsedPackage, scanFlags, mPm.getPlatformPackage(), true); final ScanResult scanResult = ScanPackageUtils.scanPackageOnlyLI(request, mPm.mInjector, ScanPackageUtils.scanPackageOnly(request, mPm.mInjector, mPm.mFactoryTest, -1L); if (scanResult.mExistingSettingCopied && scanResult.mRequest.mPkgSetting != null) { Loading Loading @@ -4481,7 +4475,7 @@ final class InstallPackageHelper { final long firstInstallTime = Flags.fixSystemAppsFirstInstallTime() ? System.currentTimeMillis() : 0; final ScanResult scanResult = scanPackageNewLI(parsedPackage, parseFlags, final ScanResult scanResult = scanPackageNew(parsedPackage, parseFlags, scanFlags | SCAN_UPDATE_SIGNATURE, firstInstallTime, user, null); return new Pair<>(scanResult, shouldHideSystemApp); } Loading services/core/java/com/android/server/pm/ScanPackageUtils.java +1 −3 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ import android.util.Slog; import android.util.apk.ApkSignatureVerifier; import android.util.jar.StrictJarFile; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.pm.parsing.pkg.ParsedPackage; import com.android.internal.pm.pkg.component.ComponentMutateUtils; Loading Loading @@ -120,10 +119,9 @@ final class ScanPackageUtils { * @param currentTime The current time, in millis * @return The results of the scan */ @GuardedBy("mPm.mInstallLock") @VisibleForTesting @NonNull public static ScanResult scanPackageOnlyLI(@NonNull ScanRequest request, public static ScanResult scanPackageOnly(@NonNull ScanRequest request, PackageManagerServiceInjector injector, boolean isUnderFactoryTest, long currentTime) throws PackageManagerException { Loading services/tests/PackageManagerServiceTests/server/src/com/android/server/pm/ScanTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -511,7 +511,7 @@ public class ScanTests { .addUsesPermission( new ParsedUsesPermissionImpl(Manifest.permission.FACTORY_TEST, 0)); final ScanResult scanResult = ScanPackageUtils.scanPackageOnlyLI( final ScanResult scanResult = ScanPackageUtils.scanPackageOnly( createBasicScanRequestBuilder(basicPackage).build(), mMockInjector, true /*isUnderFactoryTest*/, Loading Loading @@ -559,7 +559,7 @@ public class ScanTests { private ScanResult executeScan( ScanRequest scanRequest) throws PackageManagerException { ScanResult result = ScanPackageUtils.scanPackageOnlyLI( ScanResult result = ScanPackageUtils.scanPackageOnly( scanRequest, mMockInjector, false /*isUnderFactoryTest*/, Loading Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +63 −69 Original line number Diff line number Diff line Loading @@ -1205,8 +1205,6 @@ final class InstallPackageHelper { private boolean scanInstallPackages(List<InstallRequest> requests, Map<String, Boolean> createdAppId, Map<String, Settings.VersionInfo> versionInfos) { // TODO(b/362840929): remove locker try (PackageManagerTracedLock installLock = mPm.mInstallLock.acquireLock()) { final Set<String> scannedPackages = new ArraySet<>(requests.size()); for (InstallRequest request : requests) { final ParsedPackage packageToScan = request.getParsedPackage(); Loading @@ -1219,7 +1217,7 @@ final class InstallPackageHelper { final String packageName = packageToScan.getPackageName(); try { request.onScanStarted(); final ScanResult scanResult = scanPackageTracedLI(request.getParsedPackage(), final ScanResult scanResult = scanPackageTraced(request.getParsedPackage(), request.getParseFlags(), request.getScanFlags(), System.currentTimeMillis(), request.getUser(), request.getAbiOverride()); Loading Loading @@ -1271,7 +1269,6 @@ final class InstallPackageHelper { request.setResponsibleInstallerTitles(responsibleInstallerTitles); } } } return true; } Loading Loading @@ -1366,7 +1363,6 @@ final class InstallPackageHelper { } } @GuardedBy("mPm.mInstallLock") private boolean checkNoAppStorageIsConsistent(AndroidPackage oldPkg, AndroidPackage newPkg) { if (oldPkg == null) { // New install, nothing to check against. Loading Loading @@ -4119,14 +4115,13 @@ final class InstallPackageHelper { } } @GuardedBy("mPm.mInstallLock") private ScanResult scanPackageTracedLI(ParsedPackage parsedPackage, private ScanResult scanPackageTraced(ParsedPackage parsedPackage, final @ParsingPackageUtils.ParseFlags int parseFlags, @PackageManagerService.ScanFlags int scanFlags, long currentTime, @Nullable UserHandle user, String cpuAbiOverride) throws PackageManagerException { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanPackage"); try { return scanPackageNewLI(parsedPackage, parseFlags, scanFlags, currentTime, user, return scanPackageNew(parsedPackage, parseFlags, scanFlags, currentTime, user, cpuAbiOverride); } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); Loading Loading @@ -4203,8 +4198,7 @@ final class InstallPackageHelper { realPkgName, parseFlags, scanFlags, isPlatformPackage, user, cpuAbiOverride); } @GuardedBy("mPm.mInstallLock") private ScanResult scanPackageNewLI(@NonNull ParsedPackage parsedPackage, private ScanResult scanPackageNew(@NonNull ParsedPackage parsedPackage, final @ParsingPackageUtils.ParseFlags int parseFlags, @PackageManagerService.ScanFlags int scanFlags, long currentTime, @Nullable UserHandle user, String cpuAbiOverride) Loading Loading @@ -4235,7 +4229,7 @@ final class InstallPackageHelper { initialScanRequest.mOriginalPkgSetting, initialScanRequest.mRealPkgName, parseFlags, scanFlags, initialScanRequest.mIsPlatformPackage, user, cpuAbiOverride); return ScanPackageUtils.scanPackageOnlyLI(request, mPm.mInjector, mPm.mFactoryTest, return ScanPackageUtils.scanPackageOnly(request, mPm.mInjector, mPm.mFactoryTest, currentTime); } } Loading Loading @@ -4289,7 +4283,7 @@ final class InstallPackageHelper { ScanPackageUtils.applyPolicy(parsedPackage, scanFlags, mPm.getPlatformPackage(), true); final ScanResult scanResult = ScanPackageUtils.scanPackageOnlyLI(request, mPm.mInjector, ScanPackageUtils.scanPackageOnly(request, mPm.mInjector, mPm.mFactoryTest, -1L); if (scanResult.mExistingSettingCopied && scanResult.mRequest.mPkgSetting != null) { Loading Loading @@ -4481,7 +4475,7 @@ final class InstallPackageHelper { final long firstInstallTime = Flags.fixSystemAppsFirstInstallTime() ? System.currentTimeMillis() : 0; final ScanResult scanResult = scanPackageNewLI(parsedPackage, parseFlags, final ScanResult scanResult = scanPackageNew(parsedPackage, parseFlags, scanFlags | SCAN_UPDATE_SIGNATURE, firstInstallTime, user, null); return new Pair<>(scanResult, shouldHideSystemApp); } Loading
services/core/java/com/android/server/pm/ScanPackageUtils.java +1 −3 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ import android.util.Slog; import android.util.apk.ApkSignatureVerifier; import android.util.jar.StrictJarFile; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.pm.parsing.pkg.ParsedPackage; import com.android.internal.pm.pkg.component.ComponentMutateUtils; Loading Loading @@ -120,10 +119,9 @@ final class ScanPackageUtils { * @param currentTime The current time, in millis * @return The results of the scan */ @GuardedBy("mPm.mInstallLock") @VisibleForTesting @NonNull public static ScanResult scanPackageOnlyLI(@NonNull ScanRequest request, public static ScanResult scanPackageOnly(@NonNull ScanRequest request, PackageManagerServiceInjector injector, boolean isUnderFactoryTest, long currentTime) throws PackageManagerException { Loading
services/tests/PackageManagerServiceTests/server/src/com/android/server/pm/ScanTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -511,7 +511,7 @@ public class ScanTests { .addUsesPermission( new ParsedUsesPermissionImpl(Manifest.permission.FACTORY_TEST, 0)); final ScanResult scanResult = ScanPackageUtils.scanPackageOnlyLI( final ScanResult scanResult = ScanPackageUtils.scanPackageOnly( createBasicScanRequestBuilder(basicPackage).build(), mMockInjector, true /*isUnderFactoryTest*/, Loading Loading @@ -559,7 +559,7 @@ public class ScanTests { private ScanResult executeScan( ScanRequest scanRequest) throws PackageManagerException { ScanResult result = ScanPackageUtils.scanPackageOnlyLI( ScanResult result = ScanPackageUtils.scanPackageOnly( scanRequest, mMockInjector, false /*isUnderFactoryTest*/, Loading