InstallPackage now takes a package as parameter
Therefore InstallPackage() doesn't need to worry about the details of a given Package. Bug: 127071893 Test: run update from /bin/recovery --update_package=@path, sideload a package Change-Id: I0caa36785b43924f884ee398e7ea640d7472a92e
This commit is contained in:
@@ -40,12 +40,20 @@ class MemoryPackage : public Package {
|
||||
|
||||
~MemoryPackage() override;
|
||||
|
||||
PackageType GetType() const override {
|
||||
return PackageType::kMemory;
|
||||
}
|
||||
|
||||
// Memory maps the package file if necessary. Initializes the start address and size of the
|
||||
// package.
|
||||
uint64_t GetPackageSize() const override {
|
||||
return package_size_;
|
||||
}
|
||||
|
||||
std::string GetPath() const override {
|
||||
return path_;
|
||||
}
|
||||
|
||||
bool ReadFullyAtOffset(uint8_t* buffer, uint64_t byte_count, uint64_t offset) override;
|
||||
|
||||
ZipArchiveHandle GetZipArchiveHandle() override;
|
||||
@@ -82,10 +90,18 @@ class FilePackage : public Package {
|
||||
|
||||
~FilePackage() override;
|
||||
|
||||
PackageType GetType() const override {
|
||||
return PackageType::kFile;
|
||||
}
|
||||
|
||||
uint64_t GetPackageSize() const override {
|
||||
return package_size_;
|
||||
}
|
||||
|
||||
std::string GetPath() const override {
|
||||
return path_;
|
||||
}
|
||||
|
||||
bool ReadFullyAtOffset(uint8_t* buffer, uint64_t byte_count, uint64_t offset) override;
|
||||
|
||||
ZipArchiveHandle GetZipArchiveHandle() override;
|
||||
@@ -253,7 +269,7 @@ ZipArchiveHandle FilePackage::GetZipArchiveHandle() {
|
||||
return zip_handle_;
|
||||
}
|
||||
|
||||
if (auto err = OpenArchiveFd(fd_.get(), path_.c_str(), &zip_handle_); err != 0) {
|
||||
if (auto err = OpenArchiveFd(fd_.get(), path_.c_str(), &zip_handle_, false); err != 0) {
|
||||
LOG(ERROR) << "Can't open package" << path_ << " : " << ErrorCodeString(err);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user