Status Update
Comments
le...@google.com <le...@google.com> #2
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
an...@google.com <an...@google.com> #3
Tested on Android 12 Emulator with custom executor, but cannot repro this issue.
po...@google.com <po...@google.com> #4
-
Second crash in the description is from a real device. Experienced it myself on two different Xiaomi phones, plus lots of crashes from users in the Google Play console.
-
Dynamic features are not used in the application.
As a wild guess, I have downgraded build tools from 31.0.0 to 30.0.3, compileSdk from 31 to 30, and moved all work with Language ID to the service in a separate process (just to be sure that crash can kill secondary process instead of main). This combination is in beta for 2 days by now and I don't see any SIGSEGV crashes.
ap...@google.com <ap...@google.com> #5
Hmm, I feel the crash might be something related to separate/secondary process.
I also changed compileSdk and targetSDK to 31 but still cannot repro this issue.
Description
I’ve got a view/composable structure like this:
And I want that innermost composable to be able to access ambients from the outer one.
The way to do this is first to call
compositionReference()
on the line commented[REF]
, and then use it to create the composition on the line above[DEREF]
.compositionReference()
is a public function, and works as expected. Compose APIs suchcompositionFor()
andsubcomposeInto()
accept aCompositionReference
parameter, but are lower-level than is convenient to use from regular view code (they require dealing withComponentNode
s). There's currently no way to pass theCompositionReference
into the child composition.The simplest way to support this would be for here .
ViewGroup.setContent
to take an optionalCompositionReference
parameter and plumb it through to the deepestcompositionFor
call. I've proven this works using reflection to access private APIsThis was initially discussed in this Slack thread .