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

Commit 71c84cc2 authored by JW Wang's avatar JW Wang
Browse files

Remove unused locks (2/n)

Now all state changes happen on the same thread. No locks are needed.

Bug: 158974169
Test: atest StagedRollbackTest RollbackUnitTest
Change-Id: I1889b0637dc318d9c3cc692511be40018c373444
parent a8bc614b
Loading
Loading
Loading
Loading
+6 −16
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ import android.util.ArraySet;
import android.util.Slog;
import android.util.SparseArray;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.Preconditions;
import com.android.server.LocalServices;
@@ -80,7 +79,6 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver {
    private final ApexManager mApexManager;
    private final File mLastStagedRollbackIdsFile;
    // Staged rollback ids that have been committed but their session is not yet ready
    @GuardedBy("mPendingStagedRollbackIds")
    private final Set<Integer> mPendingStagedRollbackIds = new ArraySet<>();

    RollbackPackageHealthObserver(Context context) {
@@ -269,10 +267,8 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver {
    @WorkerThread
    private boolean markStagedSessionHandled(int rollbackId) {
        assertInWorkerThread();
        synchronized (mPendingStagedRollbackIds) {
        return mPendingStagedRollbackIds.remove(rollbackId);
    }
    }

    /**
     * Returns {@code true} if all pending staged rollback sessions were marked as handled,
@@ -281,10 +277,8 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver {
    @WorkerThread
    private boolean isPendingStagedSessionsEmpty() {
        assertInWorkerThread();
        synchronized (mPendingStagedRollbackIds) {
        return mPendingStagedRollbackIds.isEmpty();
    }
    }

    @WorkerThread
    private void saveStagedRollbackId(int stagedRollbackId, @Nullable VersionedPackage logPackage) {
@@ -402,9 +396,7 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver {
            if (status == RollbackManager.STATUS_SUCCESS) {
                if (rollback.isStaged()) {
                    int rollbackId = rollback.getRollbackId();
                    synchronized (mPendingStagedRollbackIds) {
                    mPendingStagedRollbackIds.add(rollbackId);
                    }
                    BroadcastReceiver listener =
                            listenForStagedSessionReady(rollbackManager, rollbackId,
                                    logPackage);
@@ -444,13 +436,11 @@ final class RollbackPackageHealthObserver implements PackageHealthObserver {

        // Add all rollback ids to mPendingStagedRollbackIds, so that we do not reboot before all
        // pending staged rollbacks are handled.
        synchronized (mPendingStagedRollbackIds) {
        for (RollbackInfo rollback : rollbacks) {
            if (rollback.isStaged()) {
                mPendingStagedRollbackIds.add(rollback.getRollbackId());
            }
        }
        }

        for (RollbackInfo rollback : rollbacks) {
            VersionedPackage sample = rollback.getPackages().get(0).getVersionRolledBackFrom();