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

Commit 71936eee authored by Billy Lau's avatar Billy Lau
Browse files

Revert "Compute SHA256 digest of binaries asynchronously post boot."

This reverts commit b4ffbd0d.

Reason for revert: A memory (b/219478233) and boottime (b/218997173) performance regression  was apparently found to be caused by this CL.

Change-Id: I753dcfd722f5d46dcb25c4222cdb3c0f5f28651c
parent b4ffbd0d
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;

/**
@@ -370,13 +369,10 @@ public class BinaryTransparencyService extends SystemService {

        // we are only interested in doing things at PHASE_BOOT_COMPLETED
        if (phase == PHASE_BOOT_COMPLETED) {
            // due to potentially long computation that holds up boot time, apex sha computations
            // are deferred to first call
            Slog.i(TAG, "Boot completed. Getting VBMeta Digest.");
            getVBMetaDigestInformation();

            // due to potentially long computation that may hold up boot time, SHA256 computations
            // for APEXs and Modules will be executed via threads.
            Slog.i(TAG, "Executing APEX & Module digest computations");
            computeApexAndModuleDigests();
        }
    }

@@ -386,12 +382,6 @@ public class BinaryTransparencyService extends SystemService {
        FrameworkStatsLog.write(FrameworkStatsLog.VBMETA_DIGEST_REPORTED, mVbmetaDigest);
    }

    private void computeApexAndModuleDigests() {
        // using Executors will allow the computations to be done asynchronously, thus not holding
        // up boot time.
        Executors.defaultThreadFactory().newThread(() -> updateBinaryMeasurements()).start();
    }

    @NonNull
    private List<PackageInfo> getInstalledApexs() {
        List<PackageInfo> results = new ArrayList<PackageInfo>();