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

Commit 51314094 authored by Calin Juravle's avatar Calin Juravle
Browse files

Delete secondary dex profiles during reconciliation

Test: manual inspections after adb shell dumpsys package dexopt
Bug: 38430319
Change-Id: I8401288b753a0c38ee3020d12e8e02c4a25723d2
parent 2041913a
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -1699,10 +1699,20 @@ bool reconcile_secondary_dex_file(const std::string& dex_path,
            result = false;
            result = false;
            continue;
            continue;
        }
        }

        // Delete oat/vdex/art files.
        result = unlink_if_exists(oat_path) && result;
        result = unlink_if_exists(oat_path) && result;
        result = unlink_if_exists(create_vdex_filename(oat_path)) && result;
        result = unlink_if_exists(create_vdex_filename(oat_path)) && result;
        result = unlink_if_exists(create_image_filename(oat_path)) && result;
        result = unlink_if_exists(create_image_filename(oat_path)) && result;


        // Delete profiles.
        std::string current_profile = create_current_profile_path(
                multiuser_get_user_id(uid), dex_path, /*is_secondary*/true);
        std::string reference_profile = create_reference_profile_path(
                dex_path, /*is_secondary*/true);
        result = unlink_if_exists(current_profile) && result;
        result = unlink_if_exists(reference_profile) && result;

        // Try removing the directories as well, they might be empty.
        // Try removing the directories as well, they might be empty.
        result = rmdir_if_empty(oat_isa_dir) && result;
        result = rmdir_if_empty(oat_isa_dir) && result;
        result = rmdir_if_empty(oat_dir) && result;
        result = rmdir_if_empty(oat_dir) && result;