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:
Treehugger Robot
2021-08-09 19:55:00 +00:00
committed by Automerger Merge Worker
3 changed files with 41 additions and 3 deletions

View File

@@ -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>

View File

@@ -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]
} }

View File

@@ -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