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

Commit 32f63a7e authored by Richard Uhler's avatar Richard Uhler
Browse files

Rename PackageRollbackData RollbackData.

In preparation for supporting multi-package rollbacks, where
RollbackData will represent information for all packages in the atomic
set, rather than a particular package from the set.

Test: atest RollbackTest
Bug: 112431924
Change-Id: I9c94d2f5a6ea0ec9f0082cf9502e0ae517e83f99
parent 2d7c7f0d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import java.time.Instant;
 * This is similar to {@link PackageRollbackInfo}, but extended with
 * additional information for internal bookkeeping.
 */
class PackageRollbackData {
class RollbackData {
    public final PackageRollbackInfo info;

    /**
@@ -40,7 +40,7 @@ class PackageRollbackData {
     */
    public Instant timestamp;

    PackageRollbackData(PackageRollbackInfo info, File backupDir) {
    RollbackData(PackageRollbackInfo info, File backupDir) {
        this.info = info;
        this.backupDir = backupDir;
    }
+15 −15
Original line number Diff line number Diff line
@@ -91,12 +91,12 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
    // Package rollback data for rollback-enabled installs that have not yet
    // been committed. Maps from sessionId to rollback data.
    @GuardedBy("mLock")
    private final Map<Integer, PackageRollbackData> mPendingRollbacks = new HashMap<>();
    private final Map<Integer, RollbackData> mPendingRollbacks = new HashMap<>();

    // Package rollback data available to be used for rolling back a package.
    // This list is null until the rollback data has been loaded.
    @GuardedBy("mLock")
    private List<PackageRollbackData> mAvailableRollbacks;
    private List<RollbackData> mAvailableRollbacks;

    // The list of recently executed rollbacks.
    // This list is null until the rollback data has been loaded.
@@ -227,7 +227,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
            // available rollbacks, to hopefully avoid forgetting to call it?
            ensureRollbackDataLoadedLocked();
            for (int i = 0; i < mAvailableRollbacks.size(); ++i) {
                PackageRollbackData data = mAvailableRollbacks.get(i);
                RollbackData data = mAvailableRollbacks.get(i);
                if (data.info.packageName.equals(packageName)) {
                    // TODO: Once the RollbackInfo API supports info about
                    // dependant packages, add that info here.
@@ -249,7 +249,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
        synchronized (mLock) {
            ensureRollbackDataLoadedLocked();
            for (int i = 0; i < mAvailableRollbacks.size(); ++i) {
                PackageRollbackData data = mAvailableRollbacks.get(i);
                RollbackData data = mAvailableRollbacks.get(i);
                packageNames.add(data.info.packageName);
            }
        }
@@ -314,11 +314,11 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
        // rollback racing with a roll-forward fix of a buggy package.
        // Figure out how to ensure we don't commit the rollback if
        // roll forward happens at the same time.
        PackageRollbackData data = null;
        RollbackData data = null;
        synchronized (mLock) {
            ensureRollbackDataLoadedLocked();
            for (int i = 0; i < mAvailableRollbacks.size(); ++i) {
                PackageRollbackData available = mAvailableRollbacks.get(i);
                RollbackData available = mAvailableRollbacks.get(i);
                // TODO: Check if available.info.lowerVersion matches
                // rollback.targetPackage.lowerVersion?
                if (available.info.packageName.equals(packageName)
@@ -420,9 +420,9 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
        // testing anyway.
        synchronized (mLock) {
            ensureRollbackDataLoadedLocked();
            Iterator<PackageRollbackData> iter = mAvailableRollbacks.iterator();
            Iterator<RollbackData> iter = mAvailableRollbacks.iterator();
            while (iter.hasNext()) {
                PackageRollbackData data = iter.next();
                RollbackData data = iter.next();
                if (data.info.packageName.equals(packageName)) {
                    iter.remove();
                    removeFile(data.backupDir);
@@ -478,7 +478,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
                    String packageName = jsonObject.getString("packageName");
                    long higherVersionCode = jsonObject.getLong("higherVersionCode");
                    long lowerVersionCode = jsonObject.getLong("lowerVersionCode");
                    PackageRollbackData data = new PackageRollbackData(
                    RollbackData data = new RollbackData(
                            new PackageRollbackInfo(packageName,
                                new PackageRollbackInfo.PackageVersion(higherVersionCode),
                                new PackageRollbackInfo.PackageVersion(lowerVersionCode)),
@@ -537,9 +537,9 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {

        synchronized (mLock) {
            ensureRollbackDataLoadedLocked();
            Iterator<PackageRollbackData> iter = mAvailableRollbacks.iterator();
            Iterator<RollbackData> iter = mAvailableRollbacks.iterator();
            while (iter.hasNext()) {
                PackageRollbackData data = iter.next();
                RollbackData data = iter.next();
                if (data.info.packageName.equals(packageName)
                        && !data.info.higherVersion.equals(installedVersion)) {
                    iter.remove();
@@ -659,9 +659,9 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
        synchronized (mLock) {
            ensureRollbackDataLoadedLocked();

            Iterator<PackageRollbackData> iter = mAvailableRollbacks.iterator();
            Iterator<RollbackData> iter = mAvailableRollbacks.iterator();
            while (iter.hasNext()) {
                PackageRollbackData data = iter.next();
                RollbackData data = iter.next();
                if (!now.isBefore(data.timestamp.plusMillis(ROLLBACK_LIFETIME_DURATION_MILLIS))) {
                    iter.remove();
                    removeFile(data.backupDir);
@@ -801,7 +801,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
            return false;
        }

        PackageRollbackData data = new PackageRollbackData(
        RollbackData data = new RollbackData(
                new PackageRollbackInfo(packageName, newVersion, installedVersion),
                backupDir);

@@ -889,7 +889,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {

        @Override
        public void onFinished(int sessionId, boolean success) {
            PackageRollbackData data = null;
            RollbackData data = null;
            synchronized (mLock) {
                data = mPendingRollbacks.remove(sessionId);
            }