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

Commit abc45c87 authored by Alan Stokes's avatar Alan Stokes
Browse files

Don't destroy ART profiles after package move.

They don't get moved, so instead of deleting a redundant copy we are
deleting the only copy.

Bug: 149200535
Test: Manual. After repro steps in bug app is moved, profiles are not
deleted.

Change-Id: I3589588cafde77828113547953d5916ba3beb557
Merged-In: I3589588cafde77828113547953d5916ba3beb557
parent abecf048
Loading
Loading
Loading
Loading
+7 −5
Original line number Original line Diff line number Diff line
@@ -689,12 +689,14 @@ binder::Status InstalldNativeService::destroyAppData(const std::unique_ptr<std::
        if (delete_dir_contents_and_dir(path) != 0) {
        if (delete_dir_contents_and_dir(path) != 0) {
            res = error("Failed to delete " + path);
            res = error("Failed to delete " + path);
        }
        }
        if ((flags & FLAG_CLEAR_APP_DATA_KEEP_ART_PROFILES) == 0) {
            destroy_app_current_profiles(packageName, userId);
            destroy_app_current_profiles(packageName, userId);
            // TODO(calin): If the package is still installed by other users it's probably
            // TODO(calin): If the package is still installed by other users it's probably
            // beneficial to keep the reference profile around.
            // beneficial to keep the reference profile around.
            // Verify if it's ok to do that.
            // Verify if it's ok to do that.
            destroy_app_reference_profile(packageName);
            destroy_app_reference_profile(packageName);
        }
        }
    }
    if (flags & FLAG_STORAGE_EXTERNAL) {
    if (flags & FLAG_STORAGE_EXTERNAL) {
        std::lock_guard<std::recursive_mutex> lock(mMountsLock);
        std::lock_guard<std::recursive_mutex> lock(mMountsLock);
        for (const auto& n : mStorageMounts) {
        for (const auto& n : mStorageMounts) {