Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa860f12 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android Git Automerger
Browse files

am baf8918c: am c796b681: Offer to delete code cache directories.

* commit 'baf8918c':
  Offer to delete code cache directories.
parents 134a6a25 baf8918c
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -314,6 +314,17 @@ int delete_cache(const char *pkgname, userid_t userid)
    return delete_dir_contents(cachedir, 0, NULL);
}

int delete_code_cache(const char *pkgname, userid_t userid)
{
    char codecachedir[PKG_PATH_MAX];

    if (create_pkg_path(codecachedir, pkgname, CODE_CACHE_DIR_POSTFIX, userid))
        return -1;

    /* delete contents, not the directory, no exceptions */
    return delete_dir_contents(codecachedir, 0, NULL);
}

/* Try to ensure free_size bytes of storage are available.
 * Returns 0 on success.
 * This is rather simple-minded because doing a full LRU would
+6 −0
Original line number Diff line number Diff line
@@ -77,6 +77,11 @@ static int do_rm_cache(char **arg, char reply[REPLY_MAX])
    return delete_cache(arg[0], atoi(arg[1])); /* pkgname, userid */
}

static int do_rm_code_cache(char **arg, char reply[REPLY_MAX])
{
    return delete_code_cache(arg[0], atoi(arg[1])); /* pkgname, userid */
}

static int do_get_size(char **arg, char reply[REPLY_MAX])
{
    int64_t codesize = 0;
@@ -163,6 +168,7 @@ struct cmdinfo cmds[] = {
    { "fixuid",               3, do_fixuid },
    { "freecache",            1, do_free_cache },
    { "rmcache",              2, do_rm_cache },
    { "rmcodecache",          2, do_rm_code_cache },
    { "getsize",              7, do_get_size },
    { "rmuserdata",           2, do_rm_user_data },
    { "movefiles",            0, do_movefiles },
+2 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@
#define PKG_LIB_POSTFIX        "/lib"

#define CACHE_DIR_POSTFIX      "/cache"
#define CODE_CACHE_DIR_POSTFIX "/code_cache"

#define APP_SUBDIR             "app/" // sub-directory under ANDROID_DATA

@@ -207,6 +208,7 @@ int make_user_data(const char *pkgname, uid_t uid, userid_t userid, const char*
int make_user_config(userid_t userid);
int delete_user(userid_t userid);
int delete_cache(const char *pkgname, userid_t userid);
int delete_code_cache(const char *pkgname, userid_t userid);
int move_dex(const char *src, const char *dst, const char *instruction_set);
int rm_dex(const char *path, const char *instruction_set);
int protect(char *pkgname, gid_t gid);