Broken e2e test due to changing the way files are uploaded. This should
fix it.
Test: npm run test:e2e
Bug: b/241571689
Change-Id: I74c8d489ecf4c0627d844505037f886d1f183b72
Upload multiple files via clicking to browse or drag and drop.
Test: spin up winscope and see if the files upload.
Bug: b/241571689
Change-Id: I67b801008ddcfa5be3ae724eb4db6f9b723eebd6
Parsers support real timestamps (along the legacy elapsed timestamps) for the following trace types:
- Accessibility
- InputMethodClients
- InputMethodManagerService
- InputMethodService
- ProtoLog
- SurfaceFlinger
- Transactions
- WindowManager
Bug: 235196806
Test: cd development/tools/winscope-ng && npm run build:unit && npm run test:unit
Change-Id: Ib26fa7c4b8b4cc0ed3128c6805c57fcb1ce7ae85
- segregate unit and e2e test utils
- add UnitTestUtils::getParser()
Test: cd development/tools/winscope-ng && npm run build:all && npm run test:all
Change-Id: I48212fe9bb1ef01b09301cd8a721f10ea18c9b77
- add class TimestampType (ELAPSED or REAL)
- add class Timestamp (timestamp value + type)
- use bigint (instead of number) to represent timestamp values
Test: cd development/tools/winscope-ng && npm run build:all && npm run test:all
Change-Id: I1db9f2f9d48ca54bd79d3ffb989f6dde9ac11cd7
Add windowContainer > identifier > title property for imeControlTarget,
imeInputTarget and imeLayeringTarget, which are extracted from WM trace,
into the WM&SF Properties panel for ImeTrace InputMethodManagerService.
Also, change the titles of 'IME...Target' properties into clickable
text (originally, the clickable text was in the right column).
Screenshot: https://screenshot.googleplex.com/BWZFJgca2YmXk6X.png
Bug: 236226833
Test: manual on local build of Winscope
Change-Id: I8da832fa36c722688c73a16d5381d7ef49fbfb0e
Previous CL ag/19516273 added tests for the new logic in
ime_processing.js, which extracts properties from WM & SF trace
entries and combines them into IME trace entries. However, the
checks used in the tests were a bit vague as they just expected some
fields to be defined (non-null). This CL improves on this by specifying
some values to verify the extracted WM / SF fields' correctness.
Bug: 237744706
Test: yarn run test
Change-Id: I1f237135520f0ef5dc85b257f6602196aa534197
Test: yarn run v1.22.18
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Bug: 241061291
Change-Id: I109aa17a607ee6cd5978f4af4c51dc49a67f5d98
Add tests for the new logic in ime_processing.js, which extracts
properties from WindowManager and SurfaceFlinger trace entries and
combines them into IME trace entries.
Some simple IME, WM and SF traces are added into
spec/traces/ime_processing_traces, and the results of combining them are
asserted for in spec/ImeProcessingSpec.js.
Bug: 237744706
Test: yarn run test
Change-Id: If2a053c4885cc4c522c93cf747b94cb69aceb1c6
Fix the errors that pop up when clicking `SurfaceFlingerLayer` in
SurfaceFlingerTrace panel's Hierarchy panel, by taking care of cases
where the property is null.
Bug: 240405932
Test: manual on local build of Winscope
Change-Id: Ic9e8f6e75dcfde8af97aeb5254d1e2d8f7b3d669
Due to there being some slightly different timestamps between WM/SF
trace and IME trace, we want to allow some "fault tolerance" -- even
if a WM/SF entry comes after IME entry in time, it may still be the
corresponding entry if it's within a manually-defined "fault tolerance"
time.
For now, fault tolerance is defined to be 200ms. So if a WM/SF entry is
within IME entry +- 200ms, it may be considered a matching /
corresponding entry. Within this range, we will always try to pick a
WM/SF entry that comes before the IME entry. If there is no such WM/SF
entry, then we will pick one that comes after.
Bug: 236226833
Test: manual on local build of Winscope
Change-Id: I0782ec520284517bf964eeffd552e6175758c9f1
Make the following headers clickable; upon clicking, will show proto
details in the 'Properties' sub-panel on the right:
- WMState
- Ime Container
- Input Method Surface
- IME Insets Source Provider
Add the following properties:
- Focused window's color / rgba information -- focused window title
extracted from WM trace, the corresponding surface's rgba extracted
from SF trace
- InputMethod Window's visibility
- InputMethod Surface's visibility
- InputMethod Surface's rect & screenBounds
Remove the following properties:
- ImeContainer's rect & screenBounds
Rename the following properties:
- Frame (under 'Focus' heading) --> Input Control Target Frame
Screenshots: in buganizer ticket
Bug: 236226833
Test: manual on local build of winscope
Change-Id: I2a2747b57639f40c8f6bf71d5cb49268e4ee5044
Fix incorrect names of properties being extracted from WM Trace:
- 'Input Method Control Target' has been replaced with 'IME Control
Target', 'Input Method Input Target' with 'IME Input Target', and 'Input
Method Target' with 'IME Layering Target'.
Bug: 239145867
Test: manual on local build of winscope
Change-Id: If067cf73de32d4374b33d1f07f179b63c9fb0c27
Adding component spec tests for all new components involved in trace
collection. This includes a new card for this CL, UploadTracesComponent,
to make testing more methodical.
Test: npm run test:component
Bug: b/238981126
Change-Id: I46d1b24fed84ce35432dad36fd5ac24d35cd0542
Finishing proxy migration by creating functionality to run and end
traces and dumps after selecting trace config.
Test: Connect a device via remote device proxy and follow the proxy
workflow for a trace or dump. Should see a placeholder message saying data loaded (trace
views not yet created).
Bug: b/238113543
Change-Id: Ic7e0948341511f6ec0bf1021d2ffbb7b198c9410
None of the components should directly interact with the proxy because
non-android development workflow (using web adb) will also be possible
in the future. Instead the ui components interact with a common
connection interface which handles the proxy or web adb respectively.
Test: check that proxy workflow still works as expected.
Bug: b/234103636
Change-Id: I0e7bbaf4b5f342ca99dd67f890c135dbf3ef61ec
Migrating the proxy to the new trace collection UI. Should be able to
enter the proxy token, select your connected device and then make
changes to trace configrurations.
Test: try running the proxy and test that functionality is same as old
winscope.
Bug: b/238113543
Change-Id: I195f65df5d09e22db54cb9f5a7ba0396948f43d3
Created new UI components for trace collection. Since the proxy is not
yet migrated, click through the buttons to automatically cycle through
the components.
Bug: b/238981126
Test: npm run start
Click Web ADB tab to see basic component. Click ADB proxy tab to see
proxy component. Click Retry to get to authorisation options. Click
Connect to get to trace configuration component.
Change-Id: I1e7a9895ece06856c095d8c85c28d22bbfa94b31
Remove code related to error/tag, which was removed from the Kotlin flickerlib as well
Test: npm run build:all && npm run test:all
Change-Id: Iaba34b458dd08aaae5ad18968a11ca8ab2d1e33a
Fix vue-material errors that show up when using MdSelect (which
we use for <Overlay />). These errors are a known bug in the
vue-material codebase
(https://github.com/vuematerial/vue-material/issues/2285) but no
patch is out for it yet. Hence, downgrade vue-material to the
latest version that does not have these errors.
Test: manual with local build of Winscope
Bug: 238262637
Change-Id: Icffead3cbf1fa1f2a6e4ec83564078f396e660cf
With this change the exclude list file may have comments that start
with '#'
Test: Run collect_ninja_inputs.py with excluded file list that has
'#' comments
Change-Id: Ic2e3da8a34144426e00ebd45ee09ff9cb3b339bd
Now Parsers rely on the Blob interface/abstraction, instead of the concrete Uint8Array.
Thus, in the future we'll be able to implement incremental trace parsing (e.g. stream parsing)
without breaking client code (e.g. ABT).
Minor: specify timeout in end-to-end tests
Test: npm run test:all
Change-Id: I9098ee3beba231f4bb4b59b24cee60e5a1e1122e
Screenshot button is added as a camera icon at the top right corner
of each panel (e.g. WindowManagerTrace, SurfaceFlingerDump).
Upon clicking this button, an image is downloaded to the user's
computer (Downloads folder), showing the whole panel - Hierarchy,
Properties etc.
Added dependency: html2canvas library
Screenshot: https://screenshot.googleplex.com/5rRzqKcEVsJRW2K.png
Bug: 236226833
Test: manual on local build of Winscope
Change-Id: Idd476017a780288c0e5ae09ce62334333fb9a652