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

Commit f9efe284 authored by Tao Bao's avatar Tao Bao
Browse files

Skip verifying the partition with no changed blocks.

For incremental BBOTAs, commit [1] changed to verify only the touched
blocks to reduce the update time. This CL fixes the bug when there's no
changed block between the two builds.

[1]: commit d522bdc9

Bug: 27813356
Bug: 28195498
Change-Id: Ia752d3cf034c544517458ed15df509d4596e21fa
parent 8fe9274a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1361,8 +1361,12 @@ class BlockDifference(object):

  def WriteVerifyScript(self, script, touched_blocks_only=False):
    partition = self.partition

    # full OTA
    if not self.src:
      script.Print("Image %s will be patched unconditionally." % (partition,))

    # incremental OTA
    else:
      if touched_blocks_only and self.version >= 3:
        ranges = self.touched_src_ranges
@@ -1370,6 +1374,11 @@ class BlockDifference(object):
      else:
        ranges = self.src.care_map.subtract(self.src.clobbered_blocks)
        expected_sha1 = self.src.TotalSha1()

      # No blocks to be checked, skipping.
      if not ranges:
        return

      ranges_str = ranges.to_string_raw()
      if self.version >= 4:
        script.AppendExtra(('if (range_sha1("%s", "%s") == "%s" || '