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

Commit 2aea00b8 authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Ensure dex2oat is run with background priority for OTA dexopt.

This makes us query `dalvik.vm.background-dex2oat-cpu-set` and
`dalvik.vm.background-dex2oat-threads` for those runs.

A test run shows that `DEXOPT_BOOTCOMPLETE` is propagated from
`OtaDexoptService`, but set it anyway to be certain.

Test: Apply OTA and check that `boot_complete` and
      `background_job_compile` get set in `android::installd::dexopt`.
Bug: 237017087
Change-Id: I48627dd062fb6155c826d48b7caefeec36f0cfff
parent 5a16dd2e
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -471,13 +471,18 @@ private:
    // TODO(calin): embed the profile name in the parameters.
    // TODO(calin): embed the profile name in the parameters.
    int Dexopt() {
    int Dexopt() {
        std::string error;
        std::string error;

        int dexopt_flags = parameters_.dexopt_flags;
        // Make sure dex2oat is run with background priority.
        dexopt_flags |= DEXOPT_BOOTCOMPLETE | DEXOPT_IDLE_BACKGROUND_JOB;

        int res = dexopt(parameters_.apk_path,
        int res = dexopt(parameters_.apk_path,
                         parameters_.uid,
                         parameters_.uid,
                         parameters_.pkgName,
                         parameters_.pkgName,
                         parameters_.instruction_set,
                         parameters_.instruction_set,
                         parameters_.dexopt_needed,
                         parameters_.dexopt_needed,
                         parameters_.oat_dir,
                         parameters_.oat_dir,
                         parameters_.dexopt_flags,
                         dexopt_flags,
                         parameters_.compiler_filter,
                         parameters_.compiler_filter,
                         parameters_.volume_uuid,
                         parameters_.volume_uuid,
                         parameters_.shared_libraries,
                         parameters_.shared_libraries,