diff options
| -rw-r--r-- | cmds/installd/Android.bp | 2 | ||||
| -rw-r--r-- | cmds/installd/InstalldNativeService.cpp | 2 | ||||
| -rw-r--r-- | cmds/installd/utils.h | 2 | ||||
| -rw-r--r-- | cmds/installd/utils_default.cpp | 30 |
4 files changed, 35 insertions, 1 deletions
diff --git a/cmds/installd/Android.bp b/cmds/installd/Android.bp index a6f77aa086..37e1646b94 100644 --- a/cmds/installd/Android.bp +++ b/cmds/installd/Android.bp @@ -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", ], diff --git a/cmds/installd/InstalldNativeService.cpp b/cmds/installd/InstalldNativeService.cpp index 51f30da9c4..cbf0e099c6 100644 --- a/cmds/installd/InstalldNativeService.cpp +++ b/cmds/installd/InstalldNativeService.cpp @@ -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(); diff --git a/cmds/installd/utils.h b/cmds/installd/utils.h index 430f515980..5afe059d52 100644 --- a/cmds/installd/utils.h +++ b/cmds/installd/utils.h @@ -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); diff --git a/cmds/installd/utils_default.cpp b/cmds/installd/utils_default.cpp new file mode 100644 index 0000000000..a6025e67c8 --- /dev/null +++ b/cmds/installd/utils_default.cpp @@ -0,0 +1,30 @@ +/* +** 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 |