diff options
| author | 2016-03-23 13:49:06 +0000 | |
|---|---|---|
| committer | 2016-03-23 13:49:06 +0000 | |
| commit | 5b817549fcea6f58bbeaaffbf654ddd8751ebbdc (patch) | |
| tree | 904204047cd9fd441e1a043b4aa9922a44ac5fbe | |
| parent | 2376b4e1cb9a24d0d7dcd1d57458261610818ef5 (diff) | |
| parent | caa6b809a5ed024a8f3f551c5c109a5ad50ab772 (diff) | |
Merge "Delete the entire profile directory when the app is uninstalled" into nyc-dev
| -rw-r--r-- | cmds/installd/commands.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/cmds/installd/commands.cpp b/cmds/installd/commands.cpp index 77bcfc2415..47c78c3c13 100644 --- a/cmds/installd/commands.cpp +++ b/cmds/installd/commands.cpp @@ -222,6 +222,14 @@ int clear_app_data(const char *uuid, const char *pkgname, userid_t userid, int f return res; } +static int destroy_app_profiles(const char *pkgname, userid_t userid) { + // TODO: this doesn't destroy the marks for foreign dex use yet. + int res = 0; + res |= delete_dir_contents_and_dir(create_data_user_profile_package_path( userid, pkgname)); + res |= delete_dir_contents_and_dir(create_data_ref_profile_package_path(pkgname)); + return res; +} + int destroy_app_data(const char *uuid, const char *pkgname, userid_t userid, int flags) { int res = 0; if (flags & FLAG_STORAGE_CE) { @@ -229,10 +237,9 @@ int destroy_app_data(const char *uuid, const char *pkgname, userid_t userid, int create_data_user_package_path(uuid, userid, pkgname)); } if (flags & FLAG_STORAGE_DE) { - // TODO: include result once 25796509 is fixed - delete_dir_contents_and_dir( + res |= delete_dir_contents_and_dir( create_data_user_de_package_path(uuid, userid, pkgname)); - unlink_all_profiles(pkgname); + res |= destroy_app_profiles(pkgname, userid); } return res; } |