From 75ab08fd9c9c1645335d12eeef734ff493bd0070 Mon Sep 17 00:00:00 2001 From: d34d Date: Mon, 19 Jan 2015 08:13:59 -0800 Subject: Themes: Restructure resource cache [1/2] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new structure is as follows: /data/resource-cache/ ├─ theme1_pkg_name | ├─ target1_pkg_name | | ├─ idmap | | └─ resources.apk | ├─ target2_pkg_name | · | · | · | ├─ targetN_pkg_name | └─ icons | ├─ hash | └─ resources.apk ├─ theme2_pkg_name · · · └─ themeN_pkg_name Change-Id: Id39688c88929733b42368c1f20ef0e25848a3390 --- cmds/idmap/idmap.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'cmds/idmap/idmap.cpp') diff --git a/cmds/idmap/idmap.cpp b/cmds/idmap/idmap.cpp index 607cfd3..cc3f231 100644 --- a/cmds/idmap/idmap.cpp +++ b/cmds/idmap/idmap.cpp @@ -122,7 +122,8 @@ NOTES \n\ } int maybe_create_fd(const char *target_apk_path, const char *overlay_apk_path, - const char *idmap_str, const char *target_hash_str, const char *overlay_hash_str) + const char *cache_path, const char *idmap_str, const char *target_hash_str, + const char *overlay_hash_str) { // anyone (not just root or system) may do --fd -- the file has // already been opened by someone else on our behalf @@ -146,12 +147,13 @@ NOTES \n\ int target_hash = strtol(target_hash_str, 0, 10); int overlay_hash = strtol(overlay_hash_str, 0, 10); - return idmap_create_fd(target_apk_path, overlay_apk_path, target_hash, overlay_hash, - idmap_fd); + return idmap_create_fd(target_apk_path, overlay_apk_path, cache_path, target_hash, + overlay_hash, idmap_fd); } int maybe_create_path(const char *target_apk_path, const char *overlay_apk_path, - const char *idmap_path, const char *target_hash_str, const char *overlay_hash_str) + const char *cache_path, const char *idmap_path, const char *target_hash_str, + const char *overlay_hash_str) { if (!verify_root_or_system()) { fprintf(stderr, "error: permission denied: not user root or user system\n"); @@ -170,8 +172,8 @@ NOTES \n\ int target_hash = strtol(target_hash_str, 0, 10); int overlay_hash = strtol(overlay_hash_str, 0, 10); - return idmap_create_path(target_apk_path, overlay_apk_path, target_hash, overlay_hash, - idmap_path); + return idmap_create_path(target_apk_path, overlay_apk_path, cache_path, target_hash, + overlay_hash, idmap_path); } int maybe_scan(const char *overlay_dir, const char *target_package_name, @@ -230,12 +232,12 @@ int main(int argc, char **argv) return 0; } - if (argc == 7 && !strcmp(argv[1], "--fd")) { - return maybe_create_fd(argv[2], argv[3], argv[4], argv[5], argv[6]); + if (argc == 8 && !strcmp(argv[1], "--fd")) { + return maybe_create_fd(argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]); } - if (argc == 7 && !strcmp(argv[1], "--path")) { - return maybe_create_path(argv[2], argv[3], argv[4], argv[5], argv[6]); + if (argc == 8 && !strcmp(argv[1], "--path")) { + return maybe_create_path(argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]); } if (argc == 6 && !strcmp(argv[1], "--scan")) { -- cgit v1.1