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

Commit 35c8465e authored by Calin Juravle's avatar Calin Juravle
Browse files

Installd: Clean up code related to foreign dex use

We simplified the way we track whether or not a dex file is used by
other apps. DexManager in the framework keeps track of the data and we
no longer need file markers on disk.

Also, fix the getUserSize by considering the size of the actual profiles
not of the set of empty markers.

Test: device boots, foreign dex markers are not created anymore

Bug: 32871170
Change-Id: I9250e816a1bfa95cb10155e513ae28ebfda7ce4b
parent 2eaf6b8e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1238,7 +1238,7 @@ binder::Status InstalldNativeService::getAppSize(const std::unique_ptr<std::stri
            calculate_tree_size(create_data_dalvik_cache_path(), &stats.codeSize,
                    sharedGid, -1);
        }
        calculate_tree_size(create_data_misc_foreign_dex_path(userId), &stats.dataSize,
        calculate_tree_size(create_data_user_profile_path(userId), &stats.dataSize,
                multiuser_get_uid(userId, appId), -1);
        ATRACE_END();
    }
@@ -1336,7 +1336,7 @@ binder::Status InstalldNativeService::getUserSize(const std::unique_ptr<std::str
        ATRACE_BEGIN("dalvik");
        calculate_tree_size(create_data_dalvik_cache_path(), &stats.codeSize,
                -1, -1, true);
        calculate_tree_size(create_data_misc_foreign_dex_path(userId), &stats.dataSize,
        calculate_tree_size(create_data_user_profile_path(userId), &stats.dataSize,
                -1, -1, true);
        ATRACE_END();

@@ -1386,7 +1386,7 @@ binder::Status InstalldNativeService::getUserSize(const std::unique_ptr<std::str

        ATRACE_BEGIN("dalvik");
        calculate_tree_size(create_data_dalvik_cache_path(), &stats.codeSize);
        calculate_tree_size(create_data_misc_foreign_dex_path(userId), &stats.dataSize);
        calculate_tree_size(create_data_user_profile_path(userId), &stats.dataSize);
        ATRACE_END();
    }

+0 −4
Original line number Diff line number Diff line
@@ -235,10 +235,6 @@ std::string create_data_dalvik_cache_path() {
    return "/data/dalvik-cache";
}

std::string create_data_misc_foreign_dex_path(userid_t userid) {
    return StringPrintf("/data/misc/profiles/cur/%d/foreign-dex", userid);
}

// Keep profile paths in sync with ActivityThread.
constexpr const char* PRIMARY_PROFILE_NAME = "primary.prof";

+0 −1
Original line number Diff line number Diff line
@@ -101,7 +101,6 @@ std::string create_data_ref_profile_path();
std::string create_data_ref_profile_package_path(const char* package_name);

std::string create_data_dalvik_cache_path();
std::string create_data_misc_foreign_dex_path(userid_t userid);

std::string create_primary_profile(const std::string& profile_dir);