Test: "development/tools/repo_pull/repo_pull.py pull ..." on a large topic
from a manifest with includes.
Bug: 140113116
Change-Id: I781c9a3ca0bcdf53cc8ed1896b3ec12389e4e797
The new sf layer transform changes breaks when missing layers are added since they do not contain transform
data. Fix this is by adding a transform when creating missing layers.
Also set the transform type when populating transform matrices so they are displayed as IDENTITY.
Test: Open trace from bug
Fixes: 130886882
Merged-In: I85f52bd3dc9174499c4a4840c6b5e80555f28fc7
Change-Id: I85f52bd3dc9174499c4a4840c6b5e80555f28fc7
Currently position is applied to the layer bounds before applying the transform. The bounds
are also not bounded by parent bounds.
Change the logic to use the calculated layer bounds and apply the transform with position when
rendering the layer on screen.
Keep existing logic to view traces before layer bounds were added.
Bug: 128925841
Test: open winscope with old (P) and new trace (Q ToT). Check if layers are rendered correctly when rotated.
Merged-In: Ia91262e4dfe3e8ad647acf8e0cf961e270441cde
Change-Id: Ia91262e4dfe3e8ad647acf8e0cf961e270441cde
Converting the proto object inorder to set the enum string values
or display default values replaces existing proto objects and its
properties which maybe used by the formatter function.
Instead replace toObject method with a custom one that limits
modifications to the existing proto objects.
Test: run WinScope and check WM and SF traces
Merged-In: Ie084d288aaf569476f1e9284c3a9c8a06364a61a
Change-Id: Ie084d288aaf569476f1e9284c3a9c8a06364a61a
When using continuous logging and having the trace enabled by default,
the first entries have no layers and crash Winscope.
Test: Flash a device with SF tracing enabled by default. Record the
initial trace. Open trace in Winscope.
Merged-In: I693815ff3e6468291770d3e8197e21bf75a2a87a
Change-Id: I693815ff3e6468291770d3e8197e21bf75a2a87a
Test: Open sf trace and check if flags are translated
Fixes: 127436444
Merged-In: If696d33054ae566d209b769427f5681d4e1ff876
Change-Id: If696d33054ae566d209b769427f5681d4e1ff876
Replace label for `Show default properties` and add tooltip explaining
what this checkbox is used for
Test: Open winscope
Merged-In: I39de3e1d7c203d5273084bd54c4d2f749e8e6f5f
Change-Id: I39de3e1d7c203d5273084bd54c4d2f749e8e6f5f
Add a type, based on the framework/native definitions, to the transform
objects.
If the transform matrix can be reconstructed from the type (identity,
translate, rotate 0/90/180/270) it should not be stored on the protobuf,
but should instead be reconstructed on Winscope.
Test: Record a Proto3 SF trace. Open it without displaying default
values in Winscope. Check if it is correct. Select a legacy trace. Open
it in Winscope. Check is it is also correct.
Merged-In: I03744efba2c8740d7c543f6793bce0ba7bf6d975
Change-Id: I03744efba2c8740d7c543f6793bce0ba7bf6d975
When traces don't have a visible region object assigned winscope crashes
while loading a SF trace.
Test: Open a SF trace without a visible region object on winscope. It
should no longer crash
Merged-In: I7919a0301ccfb6a0811fd15feb718c8ac0b210b1
Change-Id: I7919a0301ccfb6a0811fd15feb718c8ac0b210b1
The C++ proto2 implementation write the default values ot the file.
Until the surface flinger dump is updated to proto3, this implementation
will not have any effect.
Test: (Un)Check the `display defaults` checkbox. Load a file. If the
checkbox is unchecked, default values should not appear on winscope,
otherwise they should appear.
Merged-In: I2432966f3e14aba5fc1dee26d5a09c743406b417
Change-Id: I2432966f3e14aba5fc1dee26d5a09c743406b417
The protobuf definition allows the position attribute not to be defined.
Winscope crashes if the position is not defined, instead of assuming it
as (x: 0, y: 0)
Test: Load a SF protobuf object without the position attribute. Check if
Winscope does't crash while loading it.
Merged-In: Ib12ba7875f1e7b22819274c1cd9961a1dbfe82cf
Change-Id: Ib12ba7875f1e7b22819274c1cd9961a1dbfe82cf
Use the visibleRegion property to determine if a layer is visible on
the screen or not. Elements may have a size and a crop but be displayed
below another.
While the visible option cannot be used to render the elements due to
transforms, it only has a value if the element is displayed on the
screen.
Note that elements may still not appear on the screen as all their
visible regions are below the screen (right < 0 or bottom < 0)
Test: Open trace in winscope, check if only layers visible on the screen have a visible chip and are displayed.
Merged-In: I75137a5057a5bda96db887b110b053e64b49f885
Change-Id: I75137a5057a5bda96db887b110b053e64b49f885
It is no longer possible to use only the size property because Color
layers do not set a buffer size.
Use the following rule to highlight the selected layers on the UI:
- If the layer has a size and a crop, use their intersection.
- Else, if the layer has no size, but has crop, use the crop as size
- Else, use the parent size
Bug: 121198524
Test: Open trace in winscope, select visible layer, check if highlighted
Merged-In: I55298f20efa31830097a41d45d8d8b1c6b4ed2e6
Change-Id: I55298f20efa31830097a41d45d8d8b1c6b4ed2e6
SurfaceFlinger trace relies on Display Root#0 layer size to set the display bounds. This layer will
no longer have a size once b/114413815 is fixed. Instead, sf transform will set the bounds to undefined and the
bounds be calculated to be the union of the layer sizes.
see: http://x20web/teams/android-window-manager/winscope/winscope-staging-vishnun.html
Bug: 114413815
Test: build winscope and open trace
Merged-In: Ic04d524f0e095374321ef818f0d0ff420a2d3827
Change-Id: Ic04d524f0e095374321ef818f0d0ff420a2d3827
Top level of the hierarchy contains the entry with a timestamp. When
navigating the timeline with arrow keys, entry loses focus since
the timestamp changes.
See: https://android-window-manager.teams.x20web.corp.google.com/winscope/winscope-staging-vishnun.html
Test: Open trace in winscope, click on entry & navigate timeline with arrow keys
Merged-In: Ifbd88da717354c66d96a05d25a9d619fa5209e26
Change-Id: Ifbd88da717354c66d96a05d25a9d619fa5209e26
We should still be able to properly render traces taken prior to the WindowFrames
refactor - if the property is not available, use the legacy property instead.
Test: yarn run dev
Merged-In: Ie10f7d14ac5673e8be844d2d5a4fa752d502b9df
Change-Id: Ie10f7d14ac5673e8be844d2d5a4fa752d502b9df
The code is changed so the frame protobuf is now under another class
called windowFrames. Update the js code so it can properly draw the
frame with the new code change.
Test: Ran on localhost with updated protobuf file
Bug: 111359087
Merged-In: I072daae54601120de5b6eaa0a64ee7c3096e4a43
Change-Id: I072daae54601120de5b6eaa0a64ee7c3096e4a43
Trace location was incorrect. Changing to correct location.
Test: run capture_sf_trace.sh, upload to winscope, see trace
Merged-In: Ia84501014e6cf83d2fb1d167c1a7aac8b64a06d4
Change-Id: Ia84501014e6cf83d2fb1d167c1a7aac8b64a06d4
Fixes: b/110715663
The new sf layer transform changes breaks when missing layers are added since they do not contain transform
data. Fix this is by adding a transform when creating missing layers.
Also set the transform type when populating transform matrices so they are displayed as IDENTITY.
Test: Open trace from bug
Fixes: 130886882
Change-Id: I85f52bd3dc9174499c4a4840c6b5e80555f28fc7
Objects.toStringHelper has been replaced with
MoreObjects.toStringHelper.
Bug: 130306229
Test: m checkbuild
Change-Id: I0110d355aa071f3f5c8174c7dfa3c8403ac8f596
Merged-In: I0110d355aa071f3f5c8174c7dfa3c8403ac8f596
Exempt-From-Owner-Approval: cherry pick
(cherry picked from commit 9502c0fe6a)
Objects.toStringHelper has been replaced with
MoreObjects.toStringHelper.
Bug: 130306229
Test: m checkbuild
Change-Id: I0110d355aa071f3f5c8174c7dfa3c8403ac8f596
Currently position is applied to the layer bounds before applying the transform. The bounds
are also not bounded by parent bounds.
Change the logic to use the calculated layer bounds and apply the transform with position when
rendering the layer on screen.
Keep existing logic to view traces before layer bounds were added.
Bug: 128925841
Test: open winscope with old (P) and new trace (Q ToT). Check if layers are rendered correctly when rotated.
Change-Id: Ia91262e4dfe3e8ad647acf8e0cf961e270441cde
When using continuous logging and having the trace enabled by default,
the first entries have no layers and crash Winscope.
Test: Flash a device with SF tracing enabled by default. Record the
initial trace. Open trace in Winscope.
Change-Id: I693815ff3e6468291770d3e8197e21bf75a2a87a
Converting the proto object inorder to set the enum string values
or display default values replaces existing proto objects and its
properties which maybe used by the formatter function.
Instead replace toObject method with a custom one that limits
modifications to the existing proto objects.
Test: run WinScope and check WM and SF traces
Change-Id: Ie084d288aaf569476f1e9284c3a9c8a06364a61a
Replace label for `Show default properties` and add tooltip explaining
what this checkbox is used for
Test: Open winscope
Change-Id: I39de3e1d7c203d5273084bd54c4d2f749e8e6f5f
Add a type, based on the framework/native definitions, to the transform
objects.
If the transform matrix can be reconstructed from the type (identity,
translate, rotate 0/90/180/270) it should not be stored on the protobuf,
but should instead be reconstructed on Winscope.
Test: Record a Proto3 SF trace. Open it without displaying default
values in Winscope. Check if it is correct. Select a legacy trace. Open
it in Winscope. Check is it is also correct.
Change-Id: I03744efba2c8740d7c543f6793bce0ba7bf6d975
When traces don't have a visible region object assigned winscope crashes
while loading a SF trace.
Test: Open a SF trace without a visible region object on winscope. It
should no longer crash
Change-Id: I7919a0301ccfb6a0811fd15feb718c8ac0b210b1
The C++ proto2 implementation write the default values ot the file.
Until the surface flinger dump is updated to proto3, this implementation
will not have any effect.
Test: (Un)Check the `display defaults` checkbox. Load a file. If the
checkbox is unchecked, default values should not appear on winscope,
otherwise they should appear.
Change-Id: I2432966f3e14aba5fc1dee26d5a09c743406b417
The protobuf definition allows the position attribute not to be defined.
Winscope crashes if the position is not defined, instead of assuming it
as (x: 0, y: 0)
Test: Load a SF protobuf object without the position attribute. Check if
Winscope does't crash while loading it.
Change-Id: Ib12ba7875f1e7b22819274c1cd9961a1dbfe82cf
Use the visibleRegion property to determine if a layer is visible on
the screen or not. Elements may have a size and a crop but be displayed
below another.
While the visible option cannot be used to render the elements due to
transforms, it only has a value if the element is displayed on the
screen.
Note that elements may still not appear on the screen as all their
visible regions are below the screen (right < 0 or bottom < 0)
Test: Open trace in winscope, check if only layers visible on the screen have a visible chip and are displayed.
Change-Id: I75137a5057a5bda96db887b110b053e64b49f885
It is no longer possible to use only the size property because Color
layers do not set a buffer size.
Use the following rule to highlight the selected layers on the UI:
- If the layer has a size and a crop, use their intersection.
- Else, if the layer has no size, but has crop, use the crop as size
- Else, use the parent size
Bug: 121198524
Test: Open trace in winscope, select visible layer, check if highlighted
Change-Id: I55298f20efa31830097a41d45d8d8b1c6b4ed2e6
SurfaceFlinger trace relies on Display Root#0 layer size to set the display bounds. This layer will
no longer have a size once b/114413815 is fixed. Instead, sf transform will set the bounds to undefined and the
bounds be calculated to be the union of the layer sizes.
see: http://x20web/teams/android-window-manager/winscope/winscope-staging-vishnun.html
Bug: 114413815
Test: build winscope and open trace
Change-Id: Ic04d524f0e095374321ef818f0d0ff420a2d3827