Merge "Follow constant refactoring in framework."
diff --git a/cmds/installd/commands.cpp b/cmds/installd/commands.cpp
index 8fcf9e8..df80eb6 100644
--- a/cmds/installd/commands.cpp
+++ b/cmds/installd/commands.cpp
@@ -57,7 +57,7 @@
appid_t appid, const char* seinfo, int target_sdk_version) {
uid_t uid = multiuser_get_uid(userid, appid);
int target_mode = target_sdk_version >= MIN_RESTRICTED_HOME_SDK_VERSION ? 0700 : 0751;
- if (flags & FLAG_CE_STORAGE) {
+ if (flags & FLAG_STORAGE_CE) {
auto path = create_data_user_package_path(uuid, userid, pkgname);
if (fs_prepare_dir_strict(path.c_str(), target_mode, uid, uid) != 0) {
PLOG(ERROR) << "Failed to prepare " << path;
@@ -68,7 +68,7 @@
return -1;
}
}
- if (flags & FLAG_DE_STORAGE) {
+ if (flags & FLAG_STORAGE_DE) {
auto path = create_data_user_de_package_path(uuid, userid, pkgname);
if (fs_prepare_dir_strict(path.c_str(), target_mode, uid, uid) == -1) {
PLOG(ERROR) << "Failed to prepare " << path;
@@ -93,13 +93,13 @@
}
int res = 0;
- if (flags & FLAG_CE_STORAGE) {
+ if (flags & FLAG_STORAGE_CE) {
auto path = create_data_user_package_path(uuid, userid, pkgname) + suffix;
if (access(path.c_str(), F_OK) == 0) {
res |= delete_dir_contents(path);
}
}
- if (flags & FLAG_DE_STORAGE) {
+ if (flags & FLAG_STORAGE_DE) {
auto path = create_data_user_de_package_path(uuid, userid, pkgname) + suffix;
if (access(path.c_str(), F_OK) == 0) {
// TODO: include result once 25796509 is fixed
@@ -111,11 +111,11 @@
int destroy_app_data(const char *uuid, const char *pkgname, userid_t userid, int flags) {
int res = 0;
- if (flags & FLAG_CE_STORAGE) {
+ if (flags & FLAG_STORAGE_CE) {
res |= delete_dir_contents_and_dir(
create_data_user_package_path(uuid, userid, pkgname));
}
- if (flags & FLAG_DE_STORAGE) {
+ if (flags & FLAG_STORAGE_DE) {
// TODO: include result once 25796509 is fixed
delete_dir_contents_and_dir(
create_data_user_de_package_path(uuid, userid, pkgname));
@@ -178,7 +178,7 @@
goto fail;
}
- if (create_app_data(to_uuid, package_name, user, FLAG_CE_STORAGE | FLAG_DE_STORAGE,
+ if (create_app_data(to_uuid, package_name, user, FLAG_STORAGE_CE | FLAG_STORAGE_DE,
appid, seinfo, target_sdk_version) != 0) {
LOG(ERROR) << "Failed to create package target " << to;
goto fail;
@@ -204,7 +204,7 @@
goto fail;
}
- if (restorecon_app_data(to_uuid, package_name, user, FLAG_CE_STORAGE | FLAG_DE_STORAGE,
+ if (restorecon_app_data(to_uuid, package_name, user, FLAG_STORAGE_CE | FLAG_STORAGE_DE,
appid, seinfo) != 0) {
LOG(ERROR) << "Failed to restorecon";
goto fail;
@@ -453,7 +453,7 @@
for (auto user : users) {
// TODO: handle user_de directories
- if (!(flags & FLAG_CE_STORAGE)) continue;
+ if (!(flags & FLAG_STORAGE_CE)) continue;
std::string _pkgdir(create_data_user_package_path(uuid, user, pkgname));
const char* pkgdir = _pkgdir.c_str();
@@ -1489,14 +1489,14 @@
}
uid_t uid = multiuser_get_uid(userid, appid);
- if (flags & FLAG_CE_STORAGE) {
+ if (flags & FLAG_STORAGE_CE) {
auto path = create_data_user_package_path(uuid, userid, pkgName);
if (selinux_android_restorecon_pkgdir(path.c_str(), seinfo, uid, seflags) < 0) {
PLOG(ERROR) << "restorecon failed for " << path;
res = -1;
}
}
- if (flags & FLAG_DE_STORAGE) {
+ if (flags & FLAG_STORAGE_DE) {
auto path = create_data_user_de_package_path(uuid, userid, pkgName);
if (selinux_android_restorecon_pkgdir(path.c_str(), seinfo, uid, seflags) < 0) {
PLOG(ERROR) << "restorecon failed for " << path;
diff --git a/cmds/installd/installd_constants.h b/cmds/installd/installd_constants.h
index 0d21519..4e1d38f 100644
--- a/cmds/installd/installd_constants.h
+++ b/cmds/installd/installd_constants.h
@@ -56,10 +56,13 @@
constexpr size_t PKG_NAME_MAX = 128u; /* largest allowed package name */
constexpr size_t PKG_PATH_MAX = 256u; /* max size of any path we use */
-constexpr int FLAG_DE_STORAGE = 1 << 0;
-constexpr int FLAG_CE_STORAGE = 1 << 1;
-constexpr int FLAG_CLEAR_CACHE_ONLY = 1 << 2;
-constexpr int FLAG_CLEAR_CODE_CACHE_ONLY = 1 << 3;
+// NOTE: keep in sync with StorageManager
+constexpr int FLAG_STORAGE_DE = 1 << 0;
+constexpr int FLAG_STORAGE_CE = 1 << 1;
+
+// NOTE: keep in sync with Installer
+constexpr int FLAG_CLEAR_CACHE_ONLY = 1 << 8;
+constexpr int FLAG_CLEAR_CODE_CACHE_ONLY = 1 << 9;
/* dexopt needed flags matching those in dalvik.system.DexFile */
constexpr int DEXOPT_DEX2OAT_NEEDED = 1;