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

Commit 81f3552c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Reland: Enable fs-verity in background thread"

parents 70dfdac0 39de85b9
Loading
Loading
Loading
Loading
+18 −12
Original line number Diff line number Diff line
@@ -2259,11 +2259,16 @@ final class InstallPackageHelper {
                incrementalStorages.add(storage);
            }

            // Enabling fs-verity is a blocking operation. To reduce the impact to the install time,
            // run in a background thread.
            final ArrayList<String> apkPaths = new ArrayList<>();
            apkPaths.add(pkg.getBaseApkPath());
            if (pkg.getSplitCodePaths() != null) {
                Collections.addAll(apkPaths, pkg.getSplitCodePaths());
            }
            mInjector.getBackgroundHandler().post(() -> {
                try {
                if (!VerityUtils.hasFsverity(pkg.getBaseApkPath())) {
                    VerityUtils.setUpFsverity(pkg.getBaseApkPath(), (byte[]) null);
                }
                for (String path : pkg.getSplitCodePaths()) {
                    for (String path : apkPaths) {
                        if (!VerityUtils.hasFsverity(path)) {
                            VerityUtils.setUpFsverity(path, (byte[]) null);
                        }
@@ -2273,6 +2278,7 @@ final class InstallPackageHelper {
                    // optional, just ignore the error for now.
                    Slog.e(TAG, "Failed to fully enable fs-verity to " + packageName);
                }
            });

            // Hardcode previousAppId to 0 to disable any data migration (http://b/221088088)
            mAppDataHelper.prepareAppDataPostCommitLIF(pkg, 0);