diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 3cd82563d..1295230d0 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -1286,7 +1286,20 @@ class BlockDifference(object): else: ranges = self.src.care_map.subtract(self.src.clobbered_blocks) ranges_str = ranges.to_string_raw() - if self.version >= 3: + if self.version >= 4: + script.AppendExtra(('if (range_sha1("%s", "%s") == "%s" || ' + 'block_image_verify("%s", ' + 'package_extract_file("%s.transfer.list"), ' + '"%s.new.dat", "%s.patch.dat") || ' + '(block_image_recover("%s", "%s") && ' + 'block_image_verify("%s", ' + 'package_extract_file("%s.transfer.list"), ' + '"%s.new.dat", "%s.patch.dat"))) then') % ( + self.device, ranges_str, self.src.TotalSha1(), + self.device, partition, partition, partition, + self.device, ranges_str, + self.device, partition, partition, partition)) + elif self.version == 3: script.AppendExtra(('if (range_sha1("%s", "%s") == "%s" || ' 'block_image_verify("%s", ' 'package_extract_file("%s.transfer.list"), '