Update git submodules
* Update frameworks/support from branch 'androidx-master-dev'
to 8035804ac43f1f0eb1e095fa23e0c10840969cd9
- Merge "applyChanges outside of composition snapshot" into androidx-master-dev
- applyChanges outside of composition snapshot
When recomposing, perform applyChanges after applying the composition
snapshot rather than before. This makes it safe(r) for an Applier to
invoke arbitrary user code during tree manipulation (e.g. attach/detach
nodes from a UI tree) when those operations may invalidate snapshot
state that was an input to the composition that produced the tree.
These cases now have a clearly defined place in the state timeline and
data pipeline:
Composition pass 1 => Apply pass 1 => Composition 2 => Apply 2
Side effects of Apply pass 1 are no longer considered part of the
snapshot of Composition pass 1 and will cause the scheduling of
Composition pass 2 in the future via the same mechanisms as any other
global snapshot change.
Bug: 175394485
Test: CompositionTests.testStateWriteInApplier
Change-Id: I088a5cd22a03a8e7b12ec2a2a9d5716fa430e70b
1 file changed