Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Still crashing with Compose 1.7.4.
I also tried moving sharedElement to BoxWithConstraints (rather than in its content), but did not help.
So the layout hierarchy looks like this (with more details and with "..." I replaced series of "normal" layouts):
NavHost -> ... -> AnimatedVisibility -> ... -> BoxWithConstraints with sharedElement -> some content
\> ... -> AnimatedVisibility -> ... -> LazyList -> ... -> Animated Visibility -> Selection container -> BoxWithConstraints with sharedElement -> some content
Any ideas?
I also tried moving sharedElement to BoxWithConstraints (rather than in its content), but did not help.
So the layout hierarchy looks like this (with more details and with "..." I replaced series of "normal" layouts):
NavHost -> ... -> AnimatedVisibility -> ... -> BoxWithConstraints with sharedElement -> some content
\> ... -> AnimatedVisibility -> ... -> LazyList -> ... -> Animated Visibility -> Selection container -> BoxWithConstraints with sharedElement -> some content
Any ideas?
ap...@google.com <ap...@google.com> #3
In your BoxWithConstraints
do you do any conditional composition? Things like:
if (constraintsExceedsCertainThreshold) composeSomeContent() else someOtherContent()
jb...@google.com <jb...@google.com> #4
No, it's just a `Text` which has different style depending on constraints.
Also note `sharedElement` is put on `BoxWithContraints` now, not on the content.
Thanks!
Also note `sharedElement` is put on `BoxWithContraints` now, not on the content.
Thanks!
Description
Having just a
remember { }
around calls togetBackStackEntry(route)
causes new entries with the same id to use the old remember scope which can cause crashes. We should instead be telling devs to useremember(entry) { }
using the entry from thecomposable
function lambda scope as the input to theremember
calculation. This way, whenever the entry object changes, we also recompose theremember
and we never get a stale entry.