diff options
author | Tianjie Xu <xunchang@google.com> | 2019-06-12 00:43:43 +0200 |
---|---|---|
committer | Tianjie Xu <xunchang@google.com> | 2019-06-13 22:36:56 +0200 |
commit | 980f92ec008738b4d54208ed0fe9bd9cede4d7e1 (patch) | |
tree | 60386946c664bf958ec9ed2dc501e5eb68b6b6e7 /recovery.cpp | |
parent | Merge "minadbd: Support `adb rescue getprop`." (diff) | |
download | android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.tar android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.tar.gz android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.tar.bz2 android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.tar.lz android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.tar.xz android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.tar.zst android_bootable_recovery-980f92ec008738b4d54208ed0fe9bd9cede4d7e1.zip |
Diffstat (limited to '')
-rw-r--r-- | recovery.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/recovery.cpp b/recovery.cpp index eb0c2b216..db66ea7e9 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -732,7 +732,15 @@ Device::BuiltinAction start_recovery(Device* device, const std::vector<std::stri set_retry_bootloader_message(retry_count + 1, args); } - status = InstallPackage(update_package, should_wipe_cache, true, retry_count, ui); + if (update_package[0] == '@') { + ensure_path_mounted(update_package + 1); + } else { + ensure_path_mounted(update_package); + } + // TODO(xunchang) install package from fuse for large packages on ILP32 builds. + auto package = Package::CreateMemoryPackage( + update_package, std::bind(&RecoveryUI::SetProgress, ui, std::placeholders::_1)); + status = InstallPackage(package.get(), update_package, should_wipe_cache, retry_count, ui); if (status != INSTALL_SUCCESS) { ui->Print("Installation aborted.\n"); |