Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e96192e authored by Richard Uhler's avatar Richard Uhler
Browse files

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
parent 150ad986
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -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,12 +52,15 @@ 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) {
        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;
    }