summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Richard Uhler <ruhler@google.com> 2019-01-25 13:07:08 +0000
committer Richard Uhler <ruhler@google.com> 2019-01-25 13:07:08 +0000
commit0e96192e45a3926f14e3ceeb88420ef481c651fc (patch)
treee7e1cc2f7e3803b96a7d15d67f7ad67e614ec0df
parent150ad9865e8a92f36d27e4bf9bbd1a6404e2a909 (diff)
Use new RollbackManager API in RollbackPackageHealthObserver.
Use RollbackManager.getAvailableRollbacks instead of RollbackManager.getAvailableRollback, which will be removed shortly. Bug: 112431924 Test: atest RollbackTest Change-Id: Ia6548e4d66da3484cb90ab6f20832356628f1881
-rw-r--r--services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
index 1f2f1ccd7383..6aa44a70c268 100644
--- a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
+++ b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
@@ -19,6 +19,7 @@ package com.android.server.rollback;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInstaller;
+import android.content.rollback.PackageRollbackInfo;
import android.content.rollback.RollbackInfo;
import android.content.rollback.RollbackManager;
import android.os.Handler;
@@ -51,11 +52,14 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
@Override
public boolean onHealthCheckFailed(String packageName) {
RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class);
- RollbackInfo rollback = rollbackManager.getAvailableRollback(packageName);
- if (rollback != null) {
- // TODO(zezeozue): Only rollback if rollback version == failed package version
- mHandler.post(() -> executeRollback(rollbackManager, rollback));
- return true;
+ for (RollbackInfo rollback : rollbackManager.getAvailableRollbacks()) {
+ for (PackageRollbackInfo packageRollback : rollback.getPackages()) {
+ if (packageName.equals(packageRollback.getPackageName())) {
+ // TODO(zezeozue): Only rollback if rollback version == failed package version
+ mHandler.post(() -> executeRollback(rollbackManager, rollback));
+ return true;
+ }
+ }
}
// Don't handle the notification, no rollbacks available
return false;