Added fallback to global timeline instead of throwing a error if
navigation type is unexpected.
Bug: b/195738728
Test: Open x20 file winscope-staging-priyankaspatel and select Flicker
mode from navigation options, then open local Winscope and check that
the global timeline still appears after running/uploading a trace.
Change-Id: I9ea336c31fa1f5c752eb4a30f55f08a3ee595811
A 700MiB OTA package now takes only 100ms to read in, compared with
7000ms previously. That's 70x faster.
When parsing the update_metadata in payload.bin, the entire file has to
be read in previously, because zip.js does not support partial read-in.
In fact, only a small portion of the payload.bin is update_metadata.
Reading the entire payload.bin not only slows down the process but also
occupy excessive memory.
The new class OTAPayloadBlobWriter (inherited from zip.Writer) will read
in the metadata (header, manifest, signature) and throw an StopIteration
exception when finished.
Test: open a large OTA package
Change-Id: Iebf8045325dae9a118d9d8ea5674872aa7c280c4
In a single page application, the url sometimes does not correspond to
the actual resources on the server. Thus, it might cause 404 when users
refresh the page. By redirecting this kind of url back to the homepage,
the proper page can be rendered. If the url does not exist, the front
end will redirect to a Not Found page.
Test: mannual tested.
Change-Id: I36beff436a450ae7fcabe9172df9c7cc217d7305
Previously, when multiple extra flags are set, the subprocess.run
can start generation properly. Now this is fixed.
Test: mannual tested.
Change-Id: Iab7275b9058a088d1fafd8c445c7f0775626c1ba
The metadata file in ota package contains prebuild and postbuild info,
now the basic info section will display those.
Test: mannual tested.
Change-Id: I264fe656ff6fab42d5161100c04210ab9a94c7a0
A timestamp can now be searched for in -d-h-m-ms form or in nanoseconds - clicking the search button should select the closest timestamp in the timeline and change the traces.
Test: search for a timestamp and ensure the traces change accordingly.
Bug: 194275191
Change-Id: If2e5cb5863f9a59bc88acbb63f259818b7b624cc
The lookbehind/lookahead regular expression is not supported in safari
yet. (https://caniuse.com/js-regexp-lookbehind) Removed it for
compatibility reason.
Test: manual tested.
Change-Id: I5801bcc389b20df31175adbb8a841eb1d31703aa
Please put an ota package and its target build as cf_x86_demo.zip and
cf_x86_target_file_demo into this directory: /public/files/
This OTA package and target build do not have to be complete - only the
manifest part in OTA package and .map files in target build are
necessary. The previous one can be generated using:
https://source.corp.google.com/android/vendor/google_tradefederation/contrib/src/com/google/android/tradefed/ota/util/PayloadUtil.java;l=196;bpv=1;bpt=1?q=PayloadUtil&sq=package:android
The following one can be generated by unzip and keep the .map files
only, zip again.
Add a demo page, now the user can view the complete function of
OTA_analyzer without uploading their own ota packages / android build.
Test: Mannual tested.
Change-Id: I7552e0222fc40e9a4b1aff9750f74cd3ed3f4feb
This extension will be used to better integrate winscope traces and ABT, allowing trace files to be opened directly from ABT or buganizer
Bug: 192663722
Bug: 162813517
Test: (for winscope) build winscope, record traces, download traces, check if traces have the .winscope extension. (for flicker) run atest Flickertests. (for abt) on new extension, check if .winscope files show as "open in winscope" on buganizer
Change-Id: Iab7a80d0675aefe1a80d10a0f8b512506d063bba
To upgrade from the Android version A to Android version D, one could
directly generate an OTA package from A to D. But chances are (a) this
OTA package can be large and unstable (b) there are multiple other
devices are on version B or C. So generation of chain OTA packages
(A-->B-->C-->D) can help life easier.
Users will be able to select and sort the Android build in
`ChainOTAOptions.vue` component, and submit multiple jobs at the same
time using a OTAConfiguration from `JobSubmission.js`.
Test: Mannual tested.
Change-Id: I9f16f981af80900c18a571162146ce218ea96387
Batch generation of OTA packages is a important feature
requested by googler and partners: please refer to go/ota-dashboard-doc.
Given n incremental source builds and m target builds,
batch generation will generate n x m OTA packages in total.
If n=0, full OTA package will be generated.
The front end will be taking in the source/target lists and send the
request to backend one-by-one.
Test: mannual tested.
Change-Id: I769359ee69c7aa8c71704c4e119c374635554dfb
Following part has been modified:
1. Add tabs for selection between single generation and batch
generation. (src/components/JobConfigure.vue)
2. Change the data structure of OTAConfiguration, now it only records
the flags. The source/target build will be provided when submit jobs.
(src/services/JobSubmission.js)
3. Seperate the OTAOptions as a single component, which only takes in
the flags for backend. The selection of source/target build will be in a
seperate component. (src/components/OTAOptions.vue,
src/components/SingleOTAOptions.vue).
4. Now the partition selection can takes in more than one build, but
only show the partition list of first one. Later on, this will be able
to show the intersection of the partition lists from all given builds.
(src/components/PartialCheckbox.vue)
Point 1 enables the possibility of the dynamical loading of single/batch
ota generation pages. Point 2,3,4 allow the OTAOptions components to
be reused for batch generation.
Test: Mannual tested.
Change-Id: I1a29fa7c605596d717d19da25d31b81ce5b8fcba