diff options
author | Doug Zongker <dougz@android.com> | 2010-09-22 05:00:18 +0200 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-22 05:00:18 +0200 |
commit | 2c3c5c15d15faf1c9fa074851c57d0afa2a40d28 (patch) | |
tree | ee7e6f6f3e148f3264befc46015085497c2a13e2 /recovery.c | |
parent | use fs_type "emmc" instead of "block" for consistency (do not merge) (diff) | |
parent | mount sdcard only on demand; fix sideload installs (diff) | |
download | android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.tar android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.tar.gz android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.tar.bz2 android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.tar.lz android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.tar.xz android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.tar.zst android_bootable_recovery-2c3c5c15d15faf1c9fa074851c57d0afa2a40d28.zip |
Diffstat (limited to 'recovery.c')
-rw-r--r-- | recovery.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/recovery.c b/recovery.c index f5636d846..36da5f36a 100644 --- a/recovery.c +++ b/recovery.c @@ -456,6 +456,8 @@ static int compare_string(const void* a, const void* b) { static int sdcard_directory(const char* path) { + ensure_path_mounted(SDCARD_ROOT); + const char* MENU_HEADERS[] = { "Choose a package to install:", path, "", @@ -465,6 +467,7 @@ sdcard_directory(const char* path) { d = opendir(path); if (d == NULL) { LOGE("error opening %s: %s\n", path, strerror(errno)); + ensure_path_unmounted(SDCARD_ROOT); return 0; } @@ -546,11 +549,13 @@ sdcard_directory(const char* path) { // the status to the caller. char new_path[PATH_MAX]; strlcpy(new_path, path, PATH_MAX); + strlcat(new_path, "/", PATH_MAX); strlcat(new_path, item, PATH_MAX); ui_print("\n-- Install %s ...\n", path); set_sdcard_update_bootloader_message(); char* copy = copy_sideloaded_package(new_path); + ensure_path_unmounted(SDCARD_ROOT); if (copy) { result = install_package(copy); free(copy); @@ -566,6 +571,7 @@ sdcard_directory(const char* path) { free(zips); free(headers); + ensure_path_unmounted(SDCARD_ROOT); return result; } @@ -765,9 +771,6 @@ main(int argc, char **argv) { if (status != INSTALL_SUCCESS) ui_set_background(BACKGROUND_ICON_ERROR); if (status != INSTALL_SUCCESS || ui_text_visible()) { - // Mount the sdcard when the menu is enabled so you can "adb - // push" packages to the sdcard and immediately install them. - ensure_path_mounted(SDCARD_ROOT); prompt_and_wait(); } |