Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 032403fb authored by Tao Bao's avatar Tao Bao
Browse files

Skip calling verify_package_compatibility when resuming.

android::vintf::VintfObjectRecovery::CheckCompatibility() may try to
mount partitions in order to read the needed files, which may not be
feasible when resuming an interrupted update. This CL changes the logic
to enforce compatibility check on fresh install only.

Fix: 122864541
Test: Sideloading on taimen keeps working.
Test: Sideload a package by setting the retry bit. Check that
      compatibility check is skipped.
Change-Id: I018a0c802c85a0e84a6f2aac50630a677d64382a
parent d5bbec77
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -606,8 +606,8 @@ static int really_install_package(const std::string& path, bool* wipe_cache, boo
    return INSTALL_CORRUPT;
  }

  // Additionally verify the compatibility of the package.
  if (!verify_package_compatibility(zip)) {
  // Additionally verify the compatibility of the package if it's a fresh install.
  if (retry_count == 0 && !verify_package_compatibility(zip)) {
    log_buffer->push_back(android::base::StringPrintf("error: %d", kPackageCompatibilityFailure));
    return INSTALL_CORRUPT;
  }