From ff5dec9933d0eee455a2989f72b81a72abd8415e Mon Sep 17 00:00:00 2001 From: Song Pan Date: Thu, 6 Feb 2020 10:58:26 +0000 Subject: [PATCH] Do not fail early when one of the verification fails so that we don't delete the apk file while the other verification is still accessing it. Test: locally verified that the exception does not occur anymore. Bug:145674131 Change-Id: I16c37a9acb9e02b4c454c1ad036167a42aed2c66 --- .../java/com/android/server/pm/PackageManagerService.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2c85d067a3ca4..f0b619100b9b3 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -14704,8 +14704,7 @@ public class PackageManagerService extends IPackageManager.Stub void handleVerificationFinished() { if (!mVerificationCompleted) { mVerificationCompleted = true; - if (mIntegrityVerificationCompleted || mRet != INSTALL_SUCCEEDED) { - mIntegrityVerificationCompleted = true; + if (mIntegrityVerificationCompleted) { handleReturnCode(); } // integrity verification still pending. @@ -14715,8 +14714,7 @@ public class PackageManagerService extends IPackageManager.Stub void handleIntegrityVerificationFinished() { if (!mIntegrityVerificationCompleted) { mIntegrityVerificationCompleted = true; - if (mVerificationCompleted || mRet != INSTALL_SUCCEEDED) { - mVerificationCompleted = true; + if (mVerificationCompleted) { handleReturnCode(); } // verifier still pending