diff options
| author | 2023-03-21 16:54:42 +0000 | |
|---|---|---|
| committer | 2023-04-11 15:39:02 +0000 | |
| commit | 836e3fb6893ed1ddabaf7ec2c4dd6bc988d94649 (patch) | |
| tree | a398f56fedc989981710837a740e5225c1e13603 | |
| parent | bb4675df3f1094739ab54c485231cbddd5a9c851 (diff) | |
Fix rollback reason in rollback all case
Prior to the changes ag/21612554, the only case where rollback all
was being executed only when there was NATIVE_CRASH, so hardcoding it
was working. Since now it's not the case, we need to pass the correct
failure reason for execution of rollback all.
Bug: b/273585148
Test: atest CtsRootRollbackManagerHostTestCases:com.android.cts_root.rollback.host.RollbackManagerHostTest#testBadApkOnly -- --abi x86_64
Change-Id: I7f77a77ec7935a6327bb758c3398f35389facaf2
(cherry picked from commit f25aeda05885e826db5b0840d4481d134eea4acf)
Merged-In: I7f77a77ec7935a6327bb758c3398f35389facaf2
| -rw-r--r-- | services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java index b12789c94a7c..e437be8e01b5 100644 --- a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +++ b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java @@ -129,7 +129,7 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver { public boolean execute(@Nullable VersionedPackage failedPackage, @FailureReasons int rollbackReason, int mitigationCount) { if (rollbackReason == PackageWatchdog.FAILURE_REASON_NATIVE_CRASH) { - mHandler.post(this::rollbackAll); + mHandler.post(() -> rollbackAll(rollbackReason)); return true; } @@ -141,7 +141,7 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver { } mHandler.post(() -> rollbackPackage(rollback, failedPackage, rollbackReason)); } else if (mitigationCount > 1) { - mHandler.post(this::rollbackAll); + mHandler.post(() -> rollbackAll(rollbackReason)); } // Assume rollbacks executed successfully @@ -478,7 +478,7 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver { } @WorkerThread - private void rollbackAll() { + private void rollbackAll(@FailureReasons int rollbackReason) { assertInWorkerThread(); RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class); List<RollbackInfo> rollbacks = rollbackManager.getAvailableRollbacks(); @@ -497,7 +497,7 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver { for (RollbackInfo rollback : rollbacks) { VersionedPackage sample = rollback.getPackages().get(0).getVersionRolledBackFrom(); - rollbackPackage(rollback, sample, PackageWatchdog.FAILURE_REASON_NATIVE_CRASH); + rollbackPackage(rollback, sample, rollbackReason); } } } |