Loading cmds/installd/commands.c +25 −93 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ #include "installd.h" int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid) int install(const char *pkgname, uid_t uid, gid_t gid) { char pkgdir[PKG_PATH_MAX]; char libdir[PKG_PATH_MAX]; Loading @@ -27,17 +27,11 @@ int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid) } if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(pkgdir, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(libdir, PKG_LIB_PREFIX, pkgname, PKG_LIB_POSTFIX)) return -1; } else { if (create_pkg_path(pkgdir, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(libdir, PKG_SEC_LIB_PREFIX, pkgname, PKG_LIB_POSTFIX)) return -1; } if (mkdir(pkgdir, 0751) < 0) { LOGE("cannot create dir '%s': %s\n", pkgdir, strerror(errno)); Loading @@ -62,38 +56,27 @@ int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid) return 0; } int uninstall(const char *pkgname, int encrypted_fs_flag) int uninstall(const char *pkgname) { char pkgdir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(pkgdir, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(pkgdir, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } /* delete contents AND directory, no exceptions */ return delete_dir_contents(pkgdir, 1, 0); } int renamepkg(const char *oldpkgname, const char *newpkgname, int encrypted_fs_flag) int renamepkg(const char *oldpkgname, const char *newpkgname) { char oldpkgdir[PKG_PATH_MAX]; char newpkgdir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(oldpkgdir, PKG_DIR_PREFIX, oldpkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(newpkgdir, PKG_DIR_PREFIX, newpkgname, PKG_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(oldpkgdir, PKG_SEC_DIR_PREFIX, oldpkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(newpkgdir, PKG_SEC_DIR_PREFIX, newpkgname, PKG_DIR_POSTFIX)) return -1; } if (rename(oldpkgdir, newpkgdir) < 0) { LOGE("cannot rename dir '%s' to '%s': %s\n", oldpkgdir, newpkgdir, strerror(errno)); Loading @@ -102,41 +85,29 @@ int renamepkg(const char *oldpkgname, const char *newpkgname, int encrypted_fs_f return 0; } int delete_user_data(const char *pkgname, int encrypted_fs_flag) int delete_user_data(const char *pkgname) { char pkgdir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(pkgdir, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(pkgdir, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } /* delete contents, excluding "lib", but not the directory itself */ return delete_dir_contents(pkgdir, 0, "lib"); } int delete_cache(const char *pkgname, int encrypted_fs_flag) int delete_cache(const char *pkgname) { char cachedir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(cachedir, CACHE_DIR_PREFIX, pkgname, CACHE_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(cachedir, CACHE_SEC_DIR_PREFIX, pkgname, CACHE_DIR_POSTFIX)) return -1; } /* delete contents, not the directory, no exceptions */ return delete_dir_contents(cachedir, 0, 0); } /* TODO(oam): depending on use case (ecryptfs or dmcrypt) * change implementation */ static int disk_free() { struct statfs sfs; Loading Loading @@ -168,39 +139,6 @@ int free_cache(int free_size) LOGI("free_cache(%d) avail %d\n", free_size, avail); if (avail >= free_size) return 0; /* First try encrypted dir */ d = opendir(PKG_SEC_DIR_PREFIX); if (d == NULL) { LOGE("cannot open %s\n", PKG_SEC_DIR_PREFIX); } else { dfd = dirfd(d); while ((de = readdir(d))) { if (de->d_type != DT_DIR) continue; name = de->d_name; /* always skip "." and ".." */ if (name[0] == '.') { if (name[1] == 0) continue; if ((name[1] == '.') && (name[2] == 0)) continue; } subfd = openat(dfd, name, O_RDONLY | O_DIRECTORY); if (subfd < 0) continue; delete_dir_contents_fd(subfd, "cache"); close(subfd); avail = disk_free(); if (avail >= free_size) { closedir(d); return 0; } } closedir(d); } /* Next try unencrypted dir... */ d = opendir(PKG_DIR_PREFIX); if (d == NULL) { LOGE("cannot open %s\n", PKG_DIR_PREFIX); Loading Loading @@ -376,7 +314,7 @@ static int calculate_dir_size(int dfd) int get_size(const char *pkgname, const char *apkpath, const char *fwdlock_apkpath, int *_codesize, int *_datasize, int *_cachesize, int encrypted_fs_flag) int *_codesize, int *_datasize, int *_cachesize) { DIR *d; int dfd; Loading Loading @@ -411,15 +349,9 @@ int get_size(const char *pkgname, const char *apkpath, } } if (encrypted_fs_flag == 0) { if (create_pkg_path(path, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) { goto done; } } else { if (create_pkg_path(path, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) { goto done; } } d = opendir(path); if (d == NULL) { Loading cmds/installd/installd.c +12 −12 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ static int do_ping(char **arg, char reply[REPLY_MAX]) static int do_install(char **arg, char reply[REPLY_MAX]) { return install(arg[0], atoi(arg[1]), atoi(arg[2]), atoi(arg[3])); /* pkgname, uid, gid */ return install(arg[0], atoi(arg[1]), atoi(arg[2])); /* pkgname, uid, gid */ } static int do_dexopt(char **arg, char reply[REPLY_MAX]) Loading @@ -50,12 +50,12 @@ static int do_rm_dex(char **arg, char reply[REPLY_MAX]) static int do_remove(char **arg, char reply[REPLY_MAX]) { return uninstall(arg[0], atoi(arg[1])); /* pkgname */ return uninstall(arg[0]); /* pkgname */ } static int do_rename(char **arg, char reply[REPLY_MAX]) { return renamepkg(arg[0], arg[1], atoi(arg[2])); /* oldpkgname, newpkgname */ return renamepkg(arg[0], arg[1]); /* oldpkgname, newpkgname */ } static int do_free_cache(char **arg, char reply[REPLY_MAX]) /* TODO int:free_size */ Loading @@ -65,7 +65,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], atoi(arg[1])); /* pkgname */ return delete_cache(arg[0]); /* pkgname */ } static int do_protect(char **arg, char reply[REPLY_MAX]) Loading @@ -81,7 +81,7 @@ static int do_get_size(char **arg, char reply[REPLY_MAX]) int res = 0; /* pkgdir, apkpath */ res = get_size(arg[0], arg[1], arg[2], &codesize, &datasize, &cachesize, atoi(arg[3])); res = get_size(arg[0], arg[1], arg[2], &codesize, &datasize, &cachesize); sprintf(reply,"%d %d %d", codesize, datasize, cachesize); return res; Loading @@ -89,7 +89,7 @@ static int do_get_size(char **arg, char reply[REPLY_MAX]) static int do_rm_user_data(char **arg, char reply[REPLY_MAX]) { return delete_user_data(arg[0], atoi(arg[1])); /* pkgname */ return delete_user_data(arg[0]); /* pkgname */ } static int do_movefiles(char **arg, char reply[REPLY_MAX]) Loading @@ -105,17 +105,17 @@ struct cmdinfo { struct cmdinfo cmds[] = { { "ping", 0, do_ping }, { "install", 4, do_install }, { "install", 3, do_install }, { "dexopt", 3, do_dexopt }, { "movedex", 2, do_move_dex }, { "rmdex", 1, do_rm_dex }, { "remove", 2, do_remove }, { "rename", 3, do_rename }, { "remove", 1, do_remove }, { "rename", 2, do_rename }, { "freecache", 1, do_free_cache }, { "rmcache", 2, do_rm_cache }, { "rmcache", 1, do_rm_cache }, { "protect", 2, do_protect }, { "getsize", 4, do_get_size }, { "rmuserdata", 2, do_rm_user_data }, { "getsize", 3, do_get_size }, { "rmuserdata", 1, do_rm_user_data }, { "movefiles", 0, do_movefiles }, }; Loading cmds/installd/installd.h +6 −13 Original line number Diff line number Diff line Loading @@ -48,23 +48,16 @@ /* elements combined with a valid package name to form paths */ #define PKG_DIR_PREFIX "/data/data/" #define PKG_SEC_DIR_PREFIX "/data/secure/data/" #define PKG_DIR_POSTFIX "" #define PKG_LIB_PREFIX "/data/data/" #define PKG_SEC_LIB_PREFIX "/data/secure/data/" #define PKG_LIB_POSTFIX "/lib" #define CACHE_DIR_PREFIX "/data/data/" #define CACHE_SEC_DIR_PREFIX "/data/secure/data/" #define CACHE_DIR_POSTFIX "/cache" #define APK_DIR_PREFIX "/data/app/" /* Encrypted File SYstems constants */ #define USE_ENCRYPTED_FS 1 #define USE_UNENCRYPTED_FS 0 /* other handy constants */ #define PROTECTED_DIR_PREFIX "/data/app-private/" Loading Loading @@ -96,16 +89,16 @@ int delete_dir_contents_fd(int dfd, const char *name); /* commands.c */ int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid); int uninstall(const char *pkgname, int encrypted_fs_flag); int renamepkg(const char *oldpkgname, const char *newpkgname, int encrypted_fs_flag); int delete_user_data(const char *pkgname, int encrypted_fs_flag); int delete_cache(const char *pkgname, int encrypted_fs_flag); int install(const char *pkgname, uid_t uid, gid_t gid); int uninstall(const char *pkgname); int renamepkg(const char *oldpkgname, const char *newpkgname); int delete_user_data(const char *pkgname); int delete_cache(const char *pkgname); int move_dex(const char *src, const char *dst); int rm_dex(const char *path); int protect(char *pkgname, gid_t gid); int get_size(const char *pkgname, const char *apkpath, const char *fwdlock_apkpath, int *codesize, int *datasize, int *cachesize, int encrypted_fs_flag); int *codesize, int *datasize, int *cachesize); int free_cache(int free_size); int dexopt(const char *apk_path, uid_t uid, int is_public); int movefiles(); core/java/android/accounts/AccountManagerService.java +1 −7 Original line number Diff line number Diff line Loading @@ -1483,14 +1483,8 @@ public class AccountManagerService } private static String getDatabaseName() { if(Environment.isEncryptedFilesystemEnabled()) { // Hard-coded path in case of encrypted file system return Environment.getSystemSecureDirectory().getPath() + File.separator + DATABASE_NAME; } else { // Regular path in case of non-encrypted file system return DATABASE_NAME; } } private class DatabaseHelper extends SQLiteOpenHelper { Loading core/java/android/content/SyncStorageEngine.java +1 −3 Original line number Diff line number Diff line Loading @@ -312,9 +312,7 @@ public class SyncStorageEngine extends Handler { if (sSyncStorageEngine != null) { return; } // This call will return the correct directory whether Encrypted File Systems is // enabled or not. File dataDir = Environment.getSecureDataDirectory(); File dataDir = Environment.getDataDirectory(); sSyncStorageEngine = new SyncStorageEngine(context, dataDir); } Loading Loading
cmds/installd/commands.c +25 −93 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ #include "installd.h" int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid) int install(const char *pkgname, uid_t uid, gid_t gid) { char pkgdir[PKG_PATH_MAX]; char libdir[PKG_PATH_MAX]; Loading @@ -27,17 +27,11 @@ int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid) } if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(pkgdir, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(libdir, PKG_LIB_PREFIX, pkgname, PKG_LIB_POSTFIX)) return -1; } else { if (create_pkg_path(pkgdir, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(libdir, PKG_SEC_LIB_PREFIX, pkgname, PKG_LIB_POSTFIX)) return -1; } if (mkdir(pkgdir, 0751) < 0) { LOGE("cannot create dir '%s': %s\n", pkgdir, strerror(errno)); Loading @@ -62,38 +56,27 @@ int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid) return 0; } int uninstall(const char *pkgname, int encrypted_fs_flag) int uninstall(const char *pkgname) { char pkgdir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(pkgdir, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(pkgdir, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } /* delete contents AND directory, no exceptions */ return delete_dir_contents(pkgdir, 1, 0); } int renamepkg(const char *oldpkgname, const char *newpkgname, int encrypted_fs_flag) int renamepkg(const char *oldpkgname, const char *newpkgname) { char oldpkgdir[PKG_PATH_MAX]; char newpkgdir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(oldpkgdir, PKG_DIR_PREFIX, oldpkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(newpkgdir, PKG_DIR_PREFIX, newpkgname, PKG_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(oldpkgdir, PKG_SEC_DIR_PREFIX, oldpkgname, PKG_DIR_POSTFIX)) return -1; if (create_pkg_path(newpkgdir, PKG_SEC_DIR_PREFIX, newpkgname, PKG_DIR_POSTFIX)) return -1; } if (rename(oldpkgdir, newpkgdir) < 0) { LOGE("cannot rename dir '%s' to '%s': %s\n", oldpkgdir, newpkgdir, strerror(errno)); Loading @@ -102,41 +85,29 @@ int renamepkg(const char *oldpkgname, const char *newpkgname, int encrypted_fs_f return 0; } int delete_user_data(const char *pkgname, int encrypted_fs_flag) int delete_user_data(const char *pkgname) { char pkgdir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(pkgdir, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(pkgdir, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) return -1; } /* delete contents, excluding "lib", but not the directory itself */ return delete_dir_contents(pkgdir, 0, "lib"); } int delete_cache(const char *pkgname, int encrypted_fs_flag) int delete_cache(const char *pkgname) { char cachedir[PKG_PATH_MAX]; if (encrypted_fs_flag == USE_UNENCRYPTED_FS) { if (create_pkg_path(cachedir, CACHE_DIR_PREFIX, pkgname, CACHE_DIR_POSTFIX)) return -1; } else { if (create_pkg_path(cachedir, CACHE_SEC_DIR_PREFIX, pkgname, CACHE_DIR_POSTFIX)) return -1; } /* delete contents, not the directory, no exceptions */ return delete_dir_contents(cachedir, 0, 0); } /* TODO(oam): depending on use case (ecryptfs or dmcrypt) * change implementation */ static int disk_free() { struct statfs sfs; Loading Loading @@ -168,39 +139,6 @@ int free_cache(int free_size) LOGI("free_cache(%d) avail %d\n", free_size, avail); if (avail >= free_size) return 0; /* First try encrypted dir */ d = opendir(PKG_SEC_DIR_PREFIX); if (d == NULL) { LOGE("cannot open %s\n", PKG_SEC_DIR_PREFIX); } else { dfd = dirfd(d); while ((de = readdir(d))) { if (de->d_type != DT_DIR) continue; name = de->d_name; /* always skip "." and ".." */ if (name[0] == '.') { if (name[1] == 0) continue; if ((name[1] == '.') && (name[2] == 0)) continue; } subfd = openat(dfd, name, O_RDONLY | O_DIRECTORY); if (subfd < 0) continue; delete_dir_contents_fd(subfd, "cache"); close(subfd); avail = disk_free(); if (avail >= free_size) { closedir(d); return 0; } } closedir(d); } /* Next try unencrypted dir... */ d = opendir(PKG_DIR_PREFIX); if (d == NULL) { LOGE("cannot open %s\n", PKG_DIR_PREFIX); Loading Loading @@ -376,7 +314,7 @@ static int calculate_dir_size(int dfd) int get_size(const char *pkgname, const char *apkpath, const char *fwdlock_apkpath, int *_codesize, int *_datasize, int *_cachesize, int encrypted_fs_flag) int *_codesize, int *_datasize, int *_cachesize) { DIR *d; int dfd; Loading Loading @@ -411,15 +349,9 @@ int get_size(const char *pkgname, const char *apkpath, } } if (encrypted_fs_flag == 0) { if (create_pkg_path(path, PKG_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) { goto done; } } else { if (create_pkg_path(path, PKG_SEC_DIR_PREFIX, pkgname, PKG_DIR_POSTFIX)) { goto done; } } d = opendir(path); if (d == NULL) { Loading
cmds/installd/installd.c +12 −12 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ static int do_ping(char **arg, char reply[REPLY_MAX]) static int do_install(char **arg, char reply[REPLY_MAX]) { return install(arg[0], atoi(arg[1]), atoi(arg[2]), atoi(arg[3])); /* pkgname, uid, gid */ return install(arg[0], atoi(arg[1]), atoi(arg[2])); /* pkgname, uid, gid */ } static int do_dexopt(char **arg, char reply[REPLY_MAX]) Loading @@ -50,12 +50,12 @@ static int do_rm_dex(char **arg, char reply[REPLY_MAX]) static int do_remove(char **arg, char reply[REPLY_MAX]) { return uninstall(arg[0], atoi(arg[1])); /* pkgname */ return uninstall(arg[0]); /* pkgname */ } static int do_rename(char **arg, char reply[REPLY_MAX]) { return renamepkg(arg[0], arg[1], atoi(arg[2])); /* oldpkgname, newpkgname */ return renamepkg(arg[0], arg[1]); /* oldpkgname, newpkgname */ } static int do_free_cache(char **arg, char reply[REPLY_MAX]) /* TODO int:free_size */ Loading @@ -65,7 +65,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], atoi(arg[1])); /* pkgname */ return delete_cache(arg[0]); /* pkgname */ } static int do_protect(char **arg, char reply[REPLY_MAX]) Loading @@ -81,7 +81,7 @@ static int do_get_size(char **arg, char reply[REPLY_MAX]) int res = 0; /* pkgdir, apkpath */ res = get_size(arg[0], arg[1], arg[2], &codesize, &datasize, &cachesize, atoi(arg[3])); res = get_size(arg[0], arg[1], arg[2], &codesize, &datasize, &cachesize); sprintf(reply,"%d %d %d", codesize, datasize, cachesize); return res; Loading @@ -89,7 +89,7 @@ static int do_get_size(char **arg, char reply[REPLY_MAX]) static int do_rm_user_data(char **arg, char reply[REPLY_MAX]) { return delete_user_data(arg[0], atoi(arg[1])); /* pkgname */ return delete_user_data(arg[0]); /* pkgname */ } static int do_movefiles(char **arg, char reply[REPLY_MAX]) Loading @@ -105,17 +105,17 @@ struct cmdinfo { struct cmdinfo cmds[] = { { "ping", 0, do_ping }, { "install", 4, do_install }, { "install", 3, do_install }, { "dexopt", 3, do_dexopt }, { "movedex", 2, do_move_dex }, { "rmdex", 1, do_rm_dex }, { "remove", 2, do_remove }, { "rename", 3, do_rename }, { "remove", 1, do_remove }, { "rename", 2, do_rename }, { "freecache", 1, do_free_cache }, { "rmcache", 2, do_rm_cache }, { "rmcache", 1, do_rm_cache }, { "protect", 2, do_protect }, { "getsize", 4, do_get_size }, { "rmuserdata", 2, do_rm_user_data }, { "getsize", 3, do_get_size }, { "rmuserdata", 1, do_rm_user_data }, { "movefiles", 0, do_movefiles }, }; Loading
cmds/installd/installd.h +6 −13 Original line number Diff line number Diff line Loading @@ -48,23 +48,16 @@ /* elements combined with a valid package name to form paths */ #define PKG_DIR_PREFIX "/data/data/" #define PKG_SEC_DIR_PREFIX "/data/secure/data/" #define PKG_DIR_POSTFIX "" #define PKG_LIB_PREFIX "/data/data/" #define PKG_SEC_LIB_PREFIX "/data/secure/data/" #define PKG_LIB_POSTFIX "/lib" #define CACHE_DIR_PREFIX "/data/data/" #define CACHE_SEC_DIR_PREFIX "/data/secure/data/" #define CACHE_DIR_POSTFIX "/cache" #define APK_DIR_PREFIX "/data/app/" /* Encrypted File SYstems constants */ #define USE_ENCRYPTED_FS 1 #define USE_UNENCRYPTED_FS 0 /* other handy constants */ #define PROTECTED_DIR_PREFIX "/data/app-private/" Loading Loading @@ -96,16 +89,16 @@ int delete_dir_contents_fd(int dfd, const char *name); /* commands.c */ int install(const char *pkgname, int encrypted_fs_flag, uid_t uid, gid_t gid); int uninstall(const char *pkgname, int encrypted_fs_flag); int renamepkg(const char *oldpkgname, const char *newpkgname, int encrypted_fs_flag); int delete_user_data(const char *pkgname, int encrypted_fs_flag); int delete_cache(const char *pkgname, int encrypted_fs_flag); int install(const char *pkgname, uid_t uid, gid_t gid); int uninstall(const char *pkgname); int renamepkg(const char *oldpkgname, const char *newpkgname); int delete_user_data(const char *pkgname); int delete_cache(const char *pkgname); int move_dex(const char *src, const char *dst); int rm_dex(const char *path); int protect(char *pkgname, gid_t gid); int get_size(const char *pkgname, const char *apkpath, const char *fwdlock_apkpath, int *codesize, int *datasize, int *cachesize, int encrypted_fs_flag); int *codesize, int *datasize, int *cachesize); int free_cache(int free_size); int dexopt(const char *apk_path, uid_t uid, int is_public); int movefiles();
core/java/android/accounts/AccountManagerService.java +1 −7 Original line number Diff line number Diff line Loading @@ -1483,14 +1483,8 @@ public class AccountManagerService } private static String getDatabaseName() { if(Environment.isEncryptedFilesystemEnabled()) { // Hard-coded path in case of encrypted file system return Environment.getSystemSecureDirectory().getPath() + File.separator + DATABASE_NAME; } else { // Regular path in case of non-encrypted file system return DATABASE_NAME; } } private class DatabaseHelper extends SQLiteOpenHelper { Loading
core/java/android/content/SyncStorageEngine.java +1 −3 Original line number Diff line number Diff line Loading @@ -312,9 +312,7 @@ public class SyncStorageEngine extends Handler { if (sSyncStorageEngine != null) { return; } // This call will return the correct directory whether Encrypted File Systems is // enabled or not. File dataDir = Environment.getSecureDataDirectory(); File dataDir = Environment.getDataDirectory(); sSyncStorageEngine = new SyncStorageEngine(context, dataDir); } Loading