Loading services/java/com/android/server/PackageManagerService.java +17 −8 Original line number Diff line number Diff line Loading @@ -2496,17 +2496,26 @@ class PackageManagerService extends IPackageManager.Stub { private boolean collectCertificatesLI(PackageParser pp, PackageSetting ps, PackageParser.Package pkg, File srcFile, int parseFlags) { if (GET_CERTIFICATES) { if (ps == null || !ps.codePath.equals(srcFile) || ps.getTimeStamp() != srcFile.lastModified()) { if (ps != null && ps.codePath.equals(srcFile) && ps.getTimeStamp() == srcFile.lastModified()) { if (ps.signatures.mSignatures != null && ps.signatures.mSignatures.length != 0) { // Optimization: reuse the existing cached certificates // if the package appears to be unchanged. pkg.mSignatures = ps.signatures.mSignatures; return true; } Slog.w(TAG, "PackageSetting for " + ps.name + " is missing signatures. Collecting certs again to recover them."); } else { Log.i(TAG, srcFile.toString() + " changed; collecting certs"); } if (!pp.collectCertificates(pkg, parseFlags)) { mLastScanError = pp.getParseError(); return false; } } else { // Lets implicitly assign existing certificates. pkg.mSignatures = ps.signatures.mSignatures; } } return true; } Loading Loading
services/java/com/android/server/PackageManagerService.java +17 −8 Original line number Diff line number Diff line Loading @@ -2496,17 +2496,26 @@ class PackageManagerService extends IPackageManager.Stub { private boolean collectCertificatesLI(PackageParser pp, PackageSetting ps, PackageParser.Package pkg, File srcFile, int parseFlags) { if (GET_CERTIFICATES) { if (ps == null || !ps.codePath.equals(srcFile) || ps.getTimeStamp() != srcFile.lastModified()) { if (ps != null && ps.codePath.equals(srcFile) && ps.getTimeStamp() == srcFile.lastModified()) { if (ps.signatures.mSignatures != null && ps.signatures.mSignatures.length != 0) { // Optimization: reuse the existing cached certificates // if the package appears to be unchanged. pkg.mSignatures = ps.signatures.mSignatures; return true; } Slog.w(TAG, "PackageSetting for " + ps.name + " is missing signatures. Collecting certs again to recover them."); } else { Log.i(TAG, srcFile.toString() + " changed; collecting certs"); } if (!pp.collectCertificates(pkg, parseFlags)) { mLastScanError = pp.getParseError(); return false; } } else { // Lets implicitly assign existing certificates. pkg.mSignatures = ps.signatures.mSignatures; } } return true; } Loading