Create media paths for existing users.

Bug: 6925012
Change-Id: I23bd9187217645cf538e074527c143a911a61299
This commit is contained in:
Jeff Sharkey
2012-08-16 23:28:50 -07:00
parent cc48c144bb
commit 91bbb8a1e9

View File

@@ -407,6 +407,35 @@ int initialize_directories() {
goto fail;
}
}
// Ensure media directories for any existing users
DIR *dir;
struct dirent *dirent;
char user_media_dir[PATH_MAX];
dir = opendir(user_data_dir);
if (dir != NULL) {
while ((dirent = readdir(dir))) {
if (dirent->d_type == DT_DIR) {
const char *name = dirent->d_name;
// skip "." and ".."
if (name[0] == '.') {
if (name[1] == 0) continue;
if ((name[1] == '.') && (name[2] == 0)) continue;
}
// /data/media/<user_id>
snprintf(user_media_dir, PATH_MAX, "%s%s", android_media_dir.path, name);
if (ensure_dir(user_media_dir, 0770, AID_MEDIA_RW, AID_MEDIA_RW) == -1) {
ALOGE("Failed to ensure %s: %s", user_media_dir, strerror(errno));
goto fail;
}
}
}
closedir(dir);
}
version = 1;
}