Status Update
Comments
so...@google.com <so...@google.com>
ig...@gmail.com <ig...@gmail.com> #2
Branch: androidx-master-dev
commit 23a7d960caf43390a554700d3c56ada189a9d10e
Author: Louis Pullen-Freilich <lpf@google.com>
Date: Mon Aug 10 15:11:36 2020
IconButton / IconToggleButton API scrub
Test: ./gradlew updateApi
Bug:
Bug:
Relnote: "Adds enabled parameter to IconButton, and reorders parameters in IconToggleButton"
Change-Id: I0a9419b1a631cadad451395302ad87b7f9214f96
M ui/ui-material/api/current.txt
M ui/ui-material/api/public_plus_experimental_current.txt
M ui/ui-material/api/restricted_current.txt
M ui/ui-material/src/commonMain/kotlin/androidx/compose/material/IconButton.kt
on...@aol.com <on...@aol.com> #3
I'm having this issue as well in beta03
.
ig...@gmail.com <ig...@gmail.com> #4
Still reproducible in Compose Beta-04.
so...@google.com <so...@google.com>
ig...@gmail.com <ig...@gmail.com> #5
Still reproducible in Compose Beta-05.
ig...@gmail.com <ig...@gmail.com> #6
More information about the issue:
- When the Modal is opened in landscape, it does not show all its content. Some part from the bottom is hidden.
- If the modal is opened in landscape and the soft keyboard is visible then it does not throw the exception when rotate back to portrait.
ig...@gmail.com <ig...@gmail.com> #7
More information:
- It seems that the issue is only reproducible if the
ModalBottomSheetLayout
content has a fixed height. WithfillMaxSize()
it does not crash, but misbehave: almost half of the content is shown off screen.
ig...@gmail.com <ig...@gmail.com> #8
Still reproducible in Beta-09.
di...@gmail.com <di...@gmail.com> #9
Hmm. I have a simple
ModalBottomSheetLayout(sheetContent = { Text("Hello, World") }) {
// empty content, but anything can be here
}
and it simply crashes with the above exception, without any rotation. This composable is currently unusable.
This is beta09.
di...@gmail.com <di...@gmail.com> #10
Above example is a wrong one, it always crashes with the above exception only if sheetContent is empty:
ModalBottomSheetLayout(sheetContent = { /* nothing */ }) {
Anything()
}
This is understandable while still fills not exactly right. I was bitten by this because my sheet content is built dynamically and is not readily available, i.e. I had:
ModalBottomSheetLayout(sheetContent = { if (state.sheetItems != null) SomeContent() }) {
Anything()
}
I would expect this to work and produce sheet content of 0 height.
ig...@gmail.com <ig...@gmail.com> #11
Hello,
This is a minimal reproducible code:
@OptIn(ExperimentalMaterialApi::class)
@Composable
private fun Modal() {
val sheetState = rememberModalBottomSheetState(initialValue = ModalBottomSheetValue.Hidden)
val coroutineScope = rememberCoroutineScope()
ModalBottomSheetLayout(
sheetState = sheetState,
sheetContent = {
Card(modifier = Modifier.height(256.dp)) {
Text(text = "BottomSheet!")
}
}
) {
Button(onClick = {
coroutineScope.launch { sheetState.show() }
}) {
Text(text = "Open BottomSheet")
}
}
}
In the code above, if the Card
height is not set or set to a lower value (e.g. 128.dp) it does not crash when rotating from landscape.
ig...@gmail.com <ig...@gmail.com> #12
I was able to implement a workaround to make it work without crashing.
For more information, please take a look at this PR with more explanation:
ig...@gmail.com <ig...@gmail.com> #13
Well, it's a step forward. 😊
Hopefully will be fixed in time for the stable release. 🎉
ma...@google.com <ma...@google.com> #14
fix for rc01 was intended to just make it not to crush with somewhat a sane behaviour, as it's very unclear what to do in general when the anchor is gone. We will try to account for it in the swipeable API redesign later on in the next compose versions.
As with all other experimental components in compose, the behaviour will stay the same in the stable version as well. Apologies if this causes inconvenience or instabilities, but given the Experimental flag the only proper long term solution I can suggest right now is to implement your own ModalBottomsheetLayout.
ig...@gmail.com <ig...@gmail.com> #15
Updating an experimental library to just make it not crash looks good to me. I was aware of the risks when applying to experimental features.
Thanks a lot for your feedback and continuous work to make better solutions. 😊
ig...@gmail.com <ig...@gmail.com> #16
This issue still reproducible in Compose 1.1.0-rc01!
Please, consider making the same change you did when releasing 1.0.0, where the ModalBottomSheet is closed when rotating the screen, otherwise it may impact the applications with this behavior when updating to latest stable.
Stack trace on Compose 1.1.0-rc01:
2022-01-18 10:17:52.117 12256-12256/com.escodro.alkaa E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.escodro.alkaa, PID: 12256
java.lang.IllegalArgumentException: The initial value must have an associated anchor.
at androidx.compose.material.SwipeableState.ensureInit$material_release(Swipeable.kt:138)
at androidx.compose.material.SwipeableKt$swipeable$3.invoke(Swipeable.kt:594)
at androidx.compose.material.SwipeableKt$swipeable$3.invoke(Swipeable.kt:573)
at androidx.compose.ui.ComposedModifierKt$materialize$result$1.invoke(ComposedModifier.kt:263)
at androidx.compose.ui.ComposedModifierKt$materialize$result$1.invoke(ComposedModifier.kt:258)
at androidx.compose.ui.Modifier$Element$DefaultImpls.foldIn(Modifier.kt:107)
at androidx.compose.ui.ComposedModifier.foldIn(ComposedModifier.kt:172)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.ComposedModifierKt.materialize(ComposedModifier.kt:258)
at androidx.compose.ui.layout.LayoutKt$materializerOf$1.invoke-Deg8D_g(Layout.kt:221)
at androidx.compose.ui.layout.LayoutKt$materializerOf$1.invoke(Layout.kt:220)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:302)
at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:255)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:252)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:110)
at androidx.compose.material.ModalBottomSheetKt$ModalBottomSheetLayout$1.invoke(ModalBottomSheet.kt:262)
at androidx.compose.material.ModalBottomSheetKt$ModalBottomSheetLayout$1.invoke(ModalBottomSheet.kt:247)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:140)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2158)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2404)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2585)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:247)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2571)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:2547)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:620)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:786)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:105)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:456)
2022-01-18 10:17:52.117 12256-12256/com.escodro.alkaa E/AndroidRuntime: at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:425)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
at android.view.Choreographer.doCallbacks(Choreographer.java:796)
at android.view.Choreographer.doFrame(Choreographer.java:727)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
ma...@google.com <ma...@google.com> #17
This is a different issue from what I can see.
We've made a fix to react properly when the anchors have been changed, the problem in
Do you have a minimal repro sample for your problem?
ig...@gmail.com <ig...@gmail.com> #18
I'm afraid that the issue can be different, but the way to reproduce it is the same.
In fact, the minimal reproducible code I shared on
I'm attaching a simple project with Compose 1.0.0-rc01 and the code above.
How to reproduce:
- Open app
- Rotate to landscape
- Click on "BottomSheet" button
- Rotate screen to portrait
The issue does not reproduce if:
- Click on Bottom Sheet while the screen is on portrait than rotate landscape and portrait again;
- Does not set the height of sheetContent, or set
Modifier.setMaxSize()
.
Logs:
2022-01-21 14:19:49.772 10341-10341/com.example.bottomsheet E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.bottomsheet, PID: 10341
java.lang.IllegalArgumentException: The initial value must have an associated anchor.
at androidx.compose.material.SwipeableState.ensureInit$material_release(Swipeable.kt:138)
at androidx.compose.material.SwipeableKt$swipeable$3.invoke(Swipeable.kt:594)
at androidx.compose.material.SwipeableKt$swipeable$3.invoke(Swipeable.kt:573)
at androidx.compose.ui.ComposedModifierKt$materialize$result$1.invoke(ComposedModifier.kt:263)
at androidx.compose.ui.ComposedModifierKt$materialize$result$1.invoke(ComposedModifier.kt:258)
at androidx.compose.ui.Modifier$Element$DefaultImpls.foldIn(Modifier.kt:107)
at androidx.compose.ui.ComposedModifier.foldIn(ComposedModifier.kt:172)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:149)
at androidx.compose.ui.ComposedModifierKt.materialize(ComposedModifier.kt:258)
at androidx.compose.ui.layout.LayoutKt$materializerOf$1.invoke-Deg8D_g(Layout.kt:221)
at androidx.compose.ui.layout.LayoutKt$materializerOf$1.invoke(Layout.kt:220)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:302)
at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:255)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:252)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:110)
at androidx.compose.material.ModalBottomSheetKt$ModalBottomSheetLayout$1.invoke(ModalBottomSheet.kt:262)
at androidx.compose.material.ModalBottomSheetKt$ModalBottomSheetLayout$1.invoke(ModalBottomSheet.kt:247)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:140)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2158)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2404)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2585)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:247)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2571)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:2547)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:620)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:786)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:105)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:456)
2022-01-21 14:19:49.775 10341-10341/com.example.bottomsheet E/AndroidRuntime: at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:425)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
at android.view.Choreographer.doCallbacks(Choreographer.java:796)
at android.view.Choreographer.doFrame(Choreographer.java:727)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Thanks a lot!
ig...@gmail.com <ig...@gmail.com> #19
This issue still reproducible in Compose 1.1.0 stable!
Please, consider giving it some attention because it will potentially crash applications using ModalBottomSheetLayout when migrating to 1.0.0 to 1.1.0!
jo...@google.com <jo...@google.com>
ig...@gmail.com <ig...@gmail.com> #20
The code on
le...@gmail.com <le...@gmail.com> #21
jo...@google.com <jo...@google.com> #22
Hi, this area is subject to ongoing work. Unfortunately, we cannot provide any timelines; however, we are working on fixes and will update this issue once we have something new!
pr...@gmail.com <pr...@gmail.com> #23
Hmm, .heightIn(min = 8.dp) workaround in my case
jo...@google.com <jo...@google.com> #24
This issue occurs when a ModalBottomSheetState
is at currentValue = HalfExpanded
and is then recreated as it won't have a HalfExpanded
anchor. See key
to rememberSaveable
though to avoid recreation of the state with an illegal initial value. However, users would still need to ensure they are passing in the correct initialValue
.
ap...@google.com <ap...@google.com> #25
Branch: androidx-main
commit faf197e56d6c5af3071dc9e4749b83a8dc181b95
Author: Jossi Wolf <jossiwolf@google.com>
Date: Mon Dec 05 17:19:31 2022
Don't restore ModalBottomSheetState if initialValue changed
If the initialValue changed in the composition after a configuration change, we'd still attempt to restore the previous state. If the `currentValue` (saved by ModalBottomSheetState.Saver) was `HalfExpanded` before, this would result in a crash when rotating from portrait -> landscape as there is no HalfExpanded state in landscape.
Test: modalBottomSheet_tallSheet_rotateLandscape_openSheet_staysOpen
Relnote: Fixed a bug where ModalBottomSheetLayout would crash if it was HalfExpanded when rotating from portrait to landscape. Please ensure you are passing in the correct `initialValue`, for example by checking the configuration.
Bug:
Change-Id: Ie8df79fae22ea27329024e0ea3b3f6a240151b87
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ModalBottomSheetTest.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
jo...@google.com <jo...@google.com>
na...@google.com <na...@google.com> #26
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.material:material:1.4.0-alpha04
as...@google.com <as...@google.com> #27
jo...@google.com <jo...@google.com> #28
1.4.0-alpha04 contains a fix for this issue. If you are still seeing it, would you mind attaching a repro?
as...@google.com <as...@google.com> #29
jo...@google.com <jo...@google.com> #30
Thanks! Is it the same stack trace?
as...@google.com <as...@google.com> #31
Nope, different one:
FATAL EXCEPTION: main
Process: com.example.juicetracker, PID: 18722
java.lang.IllegalArgumentException: The initial value must have an associated anchor.
at androidx.compose.material.SwipeableState.ensureInit$material_release(Swipeable.kt:138)
at androidx.compose.material.SwipeableKt$swipeable$3.invoke(Swipeable.kt:594)
at androidx.compose.material.SwipeableKt$swipeable$3.invoke(Swipeable.kt:573)
at androidx.compose.ui.ComposedModifierKt$materialize$result$1.invoke(ComposedModifier.kt:278)
at androidx.compose.ui.ComposedModifierKt$materialize$result$1.invoke(ComposedModifier.kt:273)
at androidx.compose.ui.Modifier$Element.foldIn(Modifier.kt:114)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.CombinedModifier.foldIn(Modifier.kt:272)
at androidx.compose.ui.ComposedModifierKt.materialize(ComposedModifier.kt:273)
at androidx.compose.ui.layout.LayoutKt$materializerOf$1.invoke-Deg8D_g(Layout.kt:193)
at androidx.compose.ui.layout.LayoutKt$materializerOf$1.invoke(Layout.kt:192)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.material.SurfaceKt$Surface$1.invoke(Surface.kt:675)
at androidx.compose.material.SurfaceKt$Surface$1.invoke(Surface.kt:117)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:114)
at androidx.compose.material.ModalBottomSheetKt$ModalBottomSheetLayout$1.invoke(ModalBottomSheet.kt:341)
at androidx.compose.material.ModalBottomSheetKt$ModalBottomSheetLayout$1.invoke(ModalBottomSheet.kt:326)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2375)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2643)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3260)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3238)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:341)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3238)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3203)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:771)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1031)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:125)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:534)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:503)
2023-01-20 18:10:59.744 18722-18722 AndroidRuntime com.example.juicetracker E at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1229)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
at android.view.Choreographer.doCallbacks(Choreographer.java:899)
at android.view.Choreographer.doFrame(Choreographer.java:827)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@e16e7a, androidx.compose.ui.platform.MotionDurationScaleImpl@c01662b, StandaloneCoroutine{Cancelling}@9fbca88, AndroidUiDispatcher@51adc21]
jo...@google.com <jo...@google.com> #32
Discussed offline, this code path doesn't exist in 1.4.0-alpha04 anymore. The issue #27 was seeing was likely
Description
Steps to Reproduce:
Expected behavior:
The Modal should be redrawn in portrait
Actual behavior:
Throws java.lang.IllegalArgumentException: The initial value must have an associated anchor.
The issue is reproducing in the "Tasks" tabs. If the Modal is already opened when rotating to landscape, it does not reproduce, only if opened in landscape.
Additional logs: