mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-06 12:29:47 +01:00
LazyVerticalGrid was measured with infinite height, which Compose does not allow. By applying the availableHeight explicitly, this should fix the Exception: Exception java.lang.IllegalStateException: Vertically scrollable component was measured with an infinity maximum height constraints, which is disallowed. One of the common reasons is nesting layouts like LazyColumn and Column(Modifier.verticalScroll()). If you want to add a header before the list of items please add a header as a separate item() before the main items() inside the LazyColumn scope. There are could be other reasons for this to happen: your ComposeView was added into a LinearLayout with some weight, you applied Modifier.wrapContentSize(unbounded = true) or wrote a custom layout. Please try to remove the source of infinite constraints in the hierarchy above the scrolling container. at androidx.compose.foundation.CheckScrollableContainerConstraintsKt.checkScrollableContainerConstraints-K40F9xA (CheckScrollableContainerConstraints.kt:35) at androidx.compose.foundation.lazy.grid.LazyGridKt$rememberLazyGridMeasurePolicy$1$1.invoke-0kLqBqw (LazyGrid.kt:174) at androidx.compose.foundation.lazy.grid.LazyGridKt$rememberLazyGridMeasurePolicy$1$1.invoke (LazyGrid.kt:172) at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke-0kLqBqw (LazyLayout.kt:119) at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke (LazyLayout.kt:112) at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:725) at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:135) at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s (GraphicsLayerModifier.kt:646) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:188) at androidx.compose.foundation.layout.FillNode.measure-3p2s80s (Size.kt:699) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:188) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:316) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:315) at androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:503) at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:502) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:258) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113) at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:1782) at androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:40) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:696) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0 (LayoutNodeLayoutDelegate.kt:672) at androidx.compose.foundation.layout.BoxMeasurePolicy.measure-3p2s80s (Box.kt:151) at androidx.compose.foundation.layout.BoxWithConstraintsKt$BoxWithConstraints$1$1.invoke-0kLqBqw (BoxWithConstraints.kt:70) at androidx.compose.foundation.layout.BoxWithConstraintsKt$BoxWithConstraints$1$1.invoke (BoxWithConstraints.kt:67) at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:725) at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:135) at androidx.compose.foundation.layout.FillNode.measure-3p2s80s (Size.kt:699) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:188) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:316) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:315) at androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:503) at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:502) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:258) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113) at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:1782) at androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:40) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:696) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0 (LayoutNodeLayoutDelegate.kt:672) at androidx.compose.ui.layout.RootMeasurePolicy.measure-3p2s80s (RootMeasurePolicy.kt:38) at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:135) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:316) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:315) at androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:2441) at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:502) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:258) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113) at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:1782) at androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:40) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:696) at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui_release (LayoutNode.kt:1222) at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA (MeasureAndLayoutDelegate.kt:367) at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureOnly (MeasureAndLayoutDelegate.kt:622) at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureOnly (MeasureAndLayoutDelegate.kt:420) at androidx.compose.ui.platform.AndroidComposeView.onMeasure (AndroidComposeView.android.kt:1370) at android.view.View.measure (View.java:27557) at androidx.compose.ui.platform.AbstractComposeView.internalOnMeasure$ui_release (ComposeView.android.kt:309) at androidx.compose.ui.platform.AbstractComposeView.onMeasure (ComposeView.android.kt:296) at android.view.View.measure (View.java:27557) at android.widget.RelativeLayout.measureChild (RelativeLayout.java:696) at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:499) at android.view.View.measure (View.java:27557) at android.widget.LinearLayout.measureVertical (LinearLayout.java:1031) at android.widget.LinearLayout.onMeasure (LinearLayout.java:721) at android.view.View.measure (View.java:27557) at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:735) at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:481) at android.view.View.measure (View.java:27557) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at androidx.appcompat.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:141) at android.view.View.measure (View.java:27557) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical (LinearLayout.java:878) at android.widget.LinearLayout.onMeasure (LinearLayout.java:721) at android.view.View.measure (View.java:27557) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.view.View.measure (View.java:27557) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical (LinearLayout.java:878) at android.widget.LinearLayout.onMeasure (LinearLayout.java:721) at android.view.View.measure (View.java:27557) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at com.android.internal.policy.DecorView.onMeasure (DecorView.java:824) at android.view.View.measure (View.java:27557) at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:4682) at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:3098) at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:3461) at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2765) at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:10219) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1544) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1553) at android.view.Choreographer.doCallbacks (Choreographer.java:1109) at android.view.Choreographer.doFrame (Choreographer.java:994) at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1527) at android.os.Handler.handleCallback (Handler.java:958) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loopOnce (Looper.java:257) at android.os.Looper.loop (Looper.java:368) at android.app.ActivityThread.main (ActivityThread.java:8839) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:572) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1049) Also: Suppress UnusedBoxWithConstraintsScope as it seems that the maxHeight and maxWidth variables are not recognized as being used when they are "only" used in calculations. Signed-off-by: Marcel Hibbe <dev@mhibbe.de> |
||
---|---|---|
.. | ||
schemas/com.nextcloud.talk.data.source.local.TalkDatabase | ||
src | ||
build.gradle | ||
lint.xml | ||
proguard-rules.pro |