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

Commit d2be632c authored by Oleksandr Peletskyi's avatar Oleksandr Peletskyi
Browse files

Extracted some logic to utils_default.cpp in order to make platform specific overriding easier

Test: manual - could install and remove an app. As this is
refactoring there is no need for automated tests.

Change-Id: Ia9321de6699c69fbb7cfa9cf43edde102d56d532
parent b55b8233
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ cc_defaults {
        "dexopt.cpp",
        "globals.cpp",
        "utils.cpp",
        "utils_default.cpp",
        "view_compiler.cpp",
        ":installd_aidl",
    ],
@@ -191,6 +192,7 @@ cc_binary {
        "globals.cpp",
        "otapreopt.cpp",
        "utils.cpp",
        "utils_default.cpp",
        "view_compiler.cpp",
    ],

+1 −1
Original line number Diff line number Diff line
@@ -2377,7 +2377,7 @@ binder::Status InstalldNativeService::rmPackageDir(const std::string& packageDir
    if (validate_apk_path(packageDir.c_str())) {
        return error("Invalid path " + packageDir);
    }
    if (delete_dir_contents_and_dir(packageDir) != 0) {
    if (rm_package_dir(packageDir) != 0) {
        return error("Failed to delete " + packageDir);
    }
    return ok();
+2 −0
Original line number Diff line number Diff line
@@ -117,6 +117,8 @@ int delete_dir_contents(const char *pathname,

int delete_dir_contents_fd(int dfd, const char *name);

int rm_package_dir(const std::string& package_dir);

int copy_dir_files(const char *srcname, const char *dstname, uid_t owner, gid_t group);

int64_t data_disk_free(const std::string& data_path);
+30 −0
Original line number Diff line number Diff line
/*
** Copyright 2019, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/

#include "utils.h"

namespace android {
namespace installd {

// In this file are default definitions of the functions that may contain
// platform dependent logic.

int rm_package_dir(const std::string& package_dir) {
    return delete_dir_contents_and_dir(package_dir);
}

}  // namespace installd
}  // namespace android