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

Commit 8449f6d4 authored by Martijn Coenen's avatar Martijn Coenen Committed by Android (Google) Code Review
Browse files

Merge "Start a filesystem checkpoint when committing staged install."

parents 21bb9be0 e5a6e444
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -44,11 +44,13 @@ import android.os.ParcelFileDescriptor;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.storage.IStorageManager;
import android.util.Slog;
import android.util.SparseArray;
import android.util.apk.ApkSignatureVerifier;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.content.PackageHelper;
import com.android.internal.os.BackgroundThread;

import java.io.File;
@@ -253,6 +255,21 @@ public class StagingManager {
            }
        }

        // Make sure we start a filesystem checkpoint on the next boot.
        try {
            IStorageManager storageManager = PackageHelper.getStorageManager();
            if (storageManager.supportsCheckpoint()) {
                storageManager.startCheckpoint(1 /* numRetries */);
            }
        } catch (RemoteException e) {
            // While StorageManager lives in the same process, the native implementation
            // it calls through lives in 'vold'; so, this call can fail if 'vold' isn't
            // reachable.
            // Since we can live without filesystem checkpointing, just warn in this case
            // and continue.
            Slog.w(TAG, "Could not start filesystem checkpoint.");
        }

        session.setStagedSessionReady();
        if (sessionContainsApex(session)
                && !mApexManager.markStagedSessionReady(session.sessionId)) {