automotive-design-compose icon indicating copy to clipboard operation
automotive-design-compose copied to clipboard

Fix #1503: ensure child composables are drawn, by using Layout ID rather than SquooshResolvedNode identity.

Open iamralpht opened this issue 1 year ago • 6 comments

The previous check (that the SquooshResolvedNodes were equal) failed, because during a transition we generate a new set of SquooshResolvedNodes from the source tree and dest tree. With this change, we consult the layout ID, which is unique within a tree (so still useful for this purpose of identifying the selected node for child rendering).

iamralpht avatar Aug 12 '24 08:08 iamralpht

@rylin8 PTAL - I want to add tests to this; sharing now because I needed it to make a demo work.

iamralpht avatar Aug 12 '24 08:08 iamralpht

Snapshot diff report vs base branch: main Last updated: Mon Aug 12 01:48:58 PDT 2024, Sha: 8fe1ada07e8a6bafb2e8bb55e662385732d2d032 No differences detected

github-actions[bot] avatar Aug 12 '24 08:08 github-actions[bot]

So replacement content, components, and nodes with interactions don't render with animations?

rylin8 avatar Aug 12 '24 23:08 rylin8

So replacement content, components, and nodes with interactions don't render with animations?

Interactions work fine during animation, because those are all Composables that never draw anything at all. Replacement content that draws content (i.e.: all of it) was getting hidden during animations.

iamralpht avatar Aug 13 '24 05:08 iamralpht

LGTM. Let me know if you plan on adding tests to this PR or separately -- or if you'd like me to.

rylin8 avatar Aug 13 '24 16:08 rylin8

@rylin8 thanks - I'd really appreciate it if you could add a test for this part of animation.

iamralpht avatar Aug 15 '24 13:08 iamralpht