Merge changes Ib6be1671,I08c5ab16 am: 1ca6a33b31 am: 967df69e84 am: 59259d215e
Original change: https://android-review.googlesource.com/c/platform/development/+/1790887 Change-Id: I68e2036a828118ac92c1849331d187d641276399
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
<v-col
|
<v-col
|
||||||
cols="12"
|
cols="12"
|
||||||
md="6"
|
md="6"
|
||||||
|
class="tooltip"
|
||||||
>
|
>
|
||||||
<v-btn
|
<v-btn
|
||||||
:disabled="manifest.nonAB"
|
:disabled="manifest.nonAB"
|
||||||
@@ -43,6 +44,12 @@
|
|||||||
>
|
>
|
||||||
Analyse COW Merge Operations
|
Analyse COW Merge Operations
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
<span
|
||||||
|
v-if="manifest.nonAB"
|
||||||
|
class="tooltiptext"
|
||||||
|
>
|
||||||
|
This function is only supported in A/B OTA
|
||||||
|
</span>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col
|
<v-col
|
||||||
cols="12"
|
cols="12"
|
||||||
@@ -155,4 +162,24 @@ export default {
|
|||||||
.list-data {
|
.list-data {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
.tooltip {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip .tooltiptext {
|
||||||
|
visibility: hidden;
|
||||||
|
width: 120px;
|
||||||
|
background-color: black;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 5px 0;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip:hover .tooltiptext {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -115,5 +115,8 @@ function InsertMap(map, name, left, right) {
|
|||||||
function queryMap(map, left, right) {
|
function queryMap(map, left, right) {
|
||||||
// Assuming the consecutive blocks belong to the same file
|
// Assuming the consecutive blocks belong to the same file
|
||||||
// Only the start block is queried here.
|
// Only the start block is queried here.
|
||||||
|
if (!map[left]) {
|
||||||
|
return 'unknown'
|
||||||
|
}
|
||||||
return map[left]
|
return map[left]
|
||||||
}
|
}
|
||||||
@@ -53,15 +53,20 @@ export class PayloadNonAB extends chromeos_update_engine.DeltaArchiveManifest{
|
|||||||
* zero [rangeset] : fill zeros
|
* zero [rangeset] : fill zeros
|
||||||
* new [rangeset] : fill with new data from <partitionName.new.data>
|
* new [rangeset] : fill with new data from <partitionName.new.data>
|
||||||
* erase [rangeset] : mark given blocks as empty
|
* erase [rangeset] : mark given blocks as empty
|
||||||
* move <...>
|
* move <src_hash> <...>
|
||||||
* bsdiff <patchstart> <patchlen> <...>
|
* bsdiff <patchstart> <patchlen> <src_hash> <tgt_hash> <...>
|
||||||
* imgdiff <patchstart> <patchlen> <...> :
|
* imgdiff <patchstart> <patchlen> <src_hash> <tgt_hash> <...> :
|
||||||
* Read the source blocks and apply (not for move op) to the target blocks
|
* Read the source blocks and apply (not for move op) to the target blocks
|
||||||
* stash <stash_id> <src_range> : load the given source range to memory
|
* stash <stash_id> <src_range> : load the given source range to memory
|
||||||
* free <stash_id> : free the given <stash_id>
|
* free <stash_id> : free the given <stash_id>
|
||||||
* format:
|
* format:
|
||||||
* [rangeset]: <# of pairs>, <pair A start>, <pair A end>, ...
|
* [rangeset]: <# of pairs>, <pair A start>, <pair A end>, ...
|
||||||
* <stash_id>: a hex number with length of 40
|
* <stash_id>: a hex number with length of 40
|
||||||
|
* <...>: We expect to parse the remainder of the parameter tokens as one of:
|
||||||
|
* <tgt_range> <src_block_count> <src_range> (loads data from source image only)
|
||||||
|
* <tgt_range> <src_block_count> - <[stash_id:stash_range] ...> (loads data from stashes only)
|
||||||
|
* <tgt_range> <src_block_count> <src_range> <src_loc> <[stash_id:stash_range] ...>
|
||||||
|
* (loads data from both source image and stashes)
|
||||||
*/
|
*/
|
||||||
partition.operations = new Array()
|
partition.operations = new Array()
|
||||||
let newDataSize = await this.sizeNewData(partition.partitionName)
|
let newDataSize = await this.sizeNewData(partition.partitionName)
|
||||||
@@ -87,14 +92,17 @@ export class PayloadNonAB extends chromeos_update_engine.DeltaArchiveManifest{
|
|||||||
op.dstExtents = elements.slice(1).reduce(parseRange, [])
|
op.dstExtents = elements.slice(1).reduce(parseRange, [])
|
||||||
break
|
break
|
||||||
case 'move':
|
case 'move':
|
||||||
|
op.dstExtents = parseRange([], elements[2])
|
||||||
break
|
break
|
||||||
case 'bsdiff':
|
case 'bsdiff':
|
||||||
op.dataOffset = parseInt(elements[1])
|
op.dataOffset = parseInt(elements[1])
|
||||||
op.dataLength = parseInt(elements[2])
|
op.dataLength = parseInt(elements[2])
|
||||||
|
op.dstExtents = parseRange([], elements[5])
|
||||||
break
|
break
|
||||||
case 'imgdiff':
|
case 'imgdiff':
|
||||||
op.dataOffset = parseInt(elements[1])
|
op.dataOffset = parseInt(elements[1])
|
||||||
op.dataLength = parseInt(elements[2])
|
op.dataLength = parseInt(elements[2])
|
||||||
|
op.dstExtents = parseRange([], elements[5])
|
||||||
break
|
break
|
||||||
case 'stash':
|
case 'stash':
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user