delta_generator: Use REPLACE_XZ in deltas when allowed.
This patch moves the generation of the best allowed full operation to a
new function which now includes ZERO, REPLACE, REPLACE_BZ and REPLACE_XZ
when allowed. This function is used to produce a full operation
whenever it is needed in the "full" payload generator and the AB "delta"
payload generator.
Bug: 24578399
TEST=brillo_update_payload generated REPLACE_XZ operations for a delta payload that was using REPLACE_BZ operations and merged them.
TEST=brillo_update_payload generated a full payload with REPLACE, REPLACE_BZ and REPLACE_XZ operations.
TEST=Updated unittests.
(cherry picked from commit 726aeca1c665910593761a1990ee50f22d98f53f)
Change-Id: I50684d5fa429f7110e5535ee4a7f29ac50b5a402
8 files changed