Loading cmds/installd/commands.c +2 −2 Original line number Diff line number Diff line Loading @@ -271,11 +271,11 @@ int clone_persona_data(uid_t src_persona, uid_t target_persona, int copy) return 0; } int delete_cache(const char *pkgname) int delete_cache(const char *pkgname, uid_t persona) { char cachedir[PKG_PATH_MAX]; if (create_pkg_path(cachedir, pkgname, CACHE_DIR_POSTFIX, 0)) if (create_pkg_path(cachedir, pkgname, CACHE_DIR_POSTFIX, persona)) return -1; /* delete contents, not the directory, no exceptions */ Loading cmds/installd/installd.c +2 −2 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ static int do_free_cache(char **arg, char reply[REPLY_MAX]) /* TODO int:free_siz static int do_rm_cache(char **arg, char reply[REPLY_MAX]) { return delete_cache(arg[0]); /* pkgname */ return delete_cache(arg[0], atoi(arg[1])); /* pkgname, userid */ } static int do_get_size(char **arg, char reply[REPLY_MAX]) Loading Loading @@ -142,7 +142,7 @@ struct cmdinfo cmds[] = { { "rename", 2, do_rename }, { "fixuid", 3, do_fixuid }, { "freecache", 1, do_free_cache }, { "rmcache", 1, do_rm_cache }, { "rmcache", 2, do_rm_cache }, { "getsize", 5, do_get_size }, { "rmuserdata", 2, do_rm_user_data }, { "movefiles", 0, do_movefiles }, Loading cmds/installd/installd.h +1 −1 Original line number Diff line number Diff line Loading @@ -199,7 +199,7 @@ int delete_user_data(const char *pkgname, uid_t persona); int make_user_data(const char *pkgname, uid_t uid, uid_t persona); int delete_persona(uid_t persona); int clone_persona_data(uid_t src_persona, uid_t target_persona, int copy); int delete_cache(const char *pkgname); int delete_cache(const char *pkgname, uid_t persona); int move_dex(const char *src, const char *dst); int rm_dex(const char *path); int protect(char *pkgname, gid_t gid); Loading services/java/com/android/server/pm/Installer.java +3 −1 Original line number Diff line number Diff line Loading @@ -254,10 +254,12 @@ public final class Installer { return execute(builder.toString()); } public int deleteCacheFiles(String name) { public int deleteCacheFiles(String name, int userId) { StringBuilder builder = new StringBuilder("rmcache"); builder.append(' '); builder.append(name); builder.append(' '); builder.append(userId); return execute(builder.toString()); } Loading services/java/com/android/server/pm/PackageManagerService.java +2 −3 Original line number Diff line number Diff line Loading @@ -8540,11 +8540,10 @@ public class PackageManagerService extends IPackageManager.Stub { Slog.w(TAG, "Package " + packageName + " has no applicationInfo."); return false; } // TODO: Pass userId to deleteCacheFiles int retCode = mInstaller.deleteCacheFiles(packageName); int retCode = mInstaller.deleteCacheFiles(packageName, userId); if (retCode < 0) { Slog.w(TAG, "Couldn't remove cache files for package: " + packageName); + packageName + " u" + userId); return false; } return true; Loading Loading
cmds/installd/commands.c +2 −2 Original line number Diff line number Diff line Loading @@ -271,11 +271,11 @@ int clone_persona_data(uid_t src_persona, uid_t target_persona, int copy) return 0; } int delete_cache(const char *pkgname) int delete_cache(const char *pkgname, uid_t persona) { char cachedir[PKG_PATH_MAX]; if (create_pkg_path(cachedir, pkgname, CACHE_DIR_POSTFIX, 0)) if (create_pkg_path(cachedir, pkgname, CACHE_DIR_POSTFIX, persona)) return -1; /* delete contents, not the directory, no exceptions */ Loading
cmds/installd/installd.c +2 −2 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ static int do_free_cache(char **arg, char reply[REPLY_MAX]) /* TODO int:free_siz static int do_rm_cache(char **arg, char reply[REPLY_MAX]) { return delete_cache(arg[0]); /* pkgname */ return delete_cache(arg[0], atoi(arg[1])); /* pkgname, userid */ } static int do_get_size(char **arg, char reply[REPLY_MAX]) Loading Loading @@ -142,7 +142,7 @@ struct cmdinfo cmds[] = { { "rename", 2, do_rename }, { "fixuid", 3, do_fixuid }, { "freecache", 1, do_free_cache }, { "rmcache", 1, do_rm_cache }, { "rmcache", 2, do_rm_cache }, { "getsize", 5, do_get_size }, { "rmuserdata", 2, do_rm_user_data }, { "movefiles", 0, do_movefiles }, Loading
cmds/installd/installd.h +1 −1 Original line number Diff line number Diff line Loading @@ -199,7 +199,7 @@ int delete_user_data(const char *pkgname, uid_t persona); int make_user_data(const char *pkgname, uid_t uid, uid_t persona); int delete_persona(uid_t persona); int clone_persona_data(uid_t src_persona, uid_t target_persona, int copy); int delete_cache(const char *pkgname); int delete_cache(const char *pkgname, uid_t persona); int move_dex(const char *src, const char *dst); int rm_dex(const char *path); int protect(char *pkgname, gid_t gid); Loading
services/java/com/android/server/pm/Installer.java +3 −1 Original line number Diff line number Diff line Loading @@ -254,10 +254,12 @@ public final class Installer { return execute(builder.toString()); } public int deleteCacheFiles(String name) { public int deleteCacheFiles(String name, int userId) { StringBuilder builder = new StringBuilder("rmcache"); builder.append(' '); builder.append(name); builder.append(' '); builder.append(userId); return execute(builder.toString()); } Loading
services/java/com/android/server/pm/PackageManagerService.java +2 −3 Original line number Diff line number Diff line Loading @@ -8540,11 +8540,10 @@ public class PackageManagerService extends IPackageManager.Stub { Slog.w(TAG, "Package " + packageName + " has no applicationInfo."); return false; } // TODO: Pass userId to deleteCacheFiles int retCode = mInstaller.deleteCacheFiles(packageName); int retCode = mInstaller.deleteCacheFiles(packageName, userId); if (retCode < 0) { Slog.w(TAG, "Couldn't remove cache files for package: " + packageName); + packageName + " u" + userId); return false; } return true; Loading