forked from openkylin/platform_build
Error correction: Use block_image_recover in block OTAs
If block_image_verify fails, attempt to recover using FEC before giving up. Bug: 21893453 Change-Id: Ibc1fe5d28b2a8099d2b5094277b572ec08229c3a
This commit is contained in:
parent
aabff90bfe
commit
f0a7c76b45
|
@ -1284,7 +1284,20 @@ class BlockDifference(object):
|
||||||
else:
|
else:
|
||||||
ranges = self.src.care_map.subtract(self.src.clobbered_blocks)
|
ranges = self.src.care_map.subtract(self.src.clobbered_blocks)
|
||||||
ranges_str = ranges.to_string_raw()
|
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" || '
|
script.AppendExtra(('if (range_sha1("%s", "%s") == "%s" || '
|
||||||
'block_image_verify("%s", '
|
'block_image_verify("%s", '
|
||||||
'package_extract_file("%s.transfer.list"), '
|
'package_extract_file("%s.transfer.list"), '
|
||||||
|
|
Loading…
Reference in New Issue