Problem in preview
See original GitHub issueLib Version : implementation "com.github.skydoves:landscapist-glide:1.3.9"
Testing Demo Code :
GlideImage(
imageModel = R.drawable.ic_launcher_background,
contentScale = ContentScale.Crop,
modifier = Modifier.aspectRatio(1f),
loading = {
ConstraintLayout(modifier = Modifier.fillMaxSize()) {
val indicator = createRef()
CircularProgressIndicator(
modifier = Modifier
.aspectRatio(1f)
.constrainAs(indicator) {
top.linkTo(parent.top)
bottom.linkTo(parent.bottom)
start.linkTo(parent.start)
end.linkTo(parent.end)
}
.defaultMinSize(128.dp)
)
}
},
failure = {
Text(text = "load failed!", )
})
Error : Render Problem in Design
java.lang.IllegalStateException: You cannot call Glide.get() in registerComponents(), use the provided Glide instance instead at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:205) at com.bumptech.glide.Glide.get(Glide.java:191) at com.bumptech.glide.Glide.getRetriever(Glide.java:774) at com.bumptech.glide.Glide.with(Glide.java:801) at com.skydoves.landscapist.glide.LocalGlideProvider.getGlideRequestManager(LocalGlideProvider.kt:75) at com.skydoves.landscapist.glide.LocalGlideProvider.getGlideRequestBuilder(LocalGlideProvider.kt:63) at com.skydoves.landscapist.glide.GlideImage__GlideImageKt.GlideImage(GlideImage.kt:369) at com.skydoves.landscapist.glide.GlideImage.GlideImage(GlideImage.kt:1) at com.ist.jetpackcompose.views.ComposeImageKt.GlideImageLoaderRounded(ComposeImage.kt:90) at com.ist.jetpackcompose.ui.screen.list.GridActivityKt$GridItem$2.invoke(GridActivity.kt:123) at com.ist.jetpackcompose.ui.screen.list.GridActivityKt$GridItem$2.invoke(GridActivity.kt:121) 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.material.SurfaceKt$Surface$6.invoke(Surface.kt:267) at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:254) 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:215) at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:251) at androidx.compose.material.SurfaceKt.Surface-9VG74zQ(Surface.kt:214) at androidx.compose.material.CardKt.Card-9VG74zQ(Card.kt:126) at com.ist.jetpackcompose.ui.screen.list.GridActivityKt.GridItem(GridActivity.kt:111) at com.ist.jetpackcompose.ui.screen.list.GridActivityKt$GridActivityPreview$1$1$2$1$invoke$$inlined$items$1.invoke(LazyGrid.kt:240) at com.ist.jetpackcompose.ui.screen.list.GridActivityKt$GridActivityPreview$1$1$2$1$invoke$$inlined$items$1.invoke(LazyGrid.kt:135) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34) at androidx.compose.foundation.lazy.LazyGridScopeImpl$items$1$1.invoke(LazyGrid.kt:235) at androidx.compose.foundation.lazy.LazyGridScopeImpl$items$1$1.invoke(LazyGrid.kt:235) 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.foundation.lazy.LazyGridKt$FixedLazyGrid$1$1.invoke(LazyGrid.kt:205) at androidx.compose.foundation.lazy.LazyGridKt$FixedLazyGrid$1$1.invoke(LazyGrid.kt:196) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34) at androidx.compose.foundation.lazy.LazyListScopeImpl$items$1$1.invoke(LazyDsl.kt:200) at androidx.compose.foundation.lazy.LazyListScopeImpl$items$1$1.invoke(LazyDsl.kt:200) 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:215) at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84) at androidx.compose.foundation.lazy.LazyListItemContentFactory$CachedItemContent$content$1.invoke(LazyListItemContentFactory.kt:113) at androidx.compose.foundation.lazy.LazyListItemContentFactory$CachedItemContent$content$1.invoke(LazyListItemContentFactory.kt:107) 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.ui.layout.SubcomposeLayoutState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:241) at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:241) 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.ComposerKt.invokeComposable(Composer.kt:3332) at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2577) at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2566) at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(SnapshotState.kt:540) at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2566) at androidx.compose.runtime.ComposerImpl.composeContent$runtime_release(Composer.kt:2517) at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:477) at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:727) at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:2982) at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:433) at androidx.compose.ui.layout.SubcomposeLayoutState.subcomposeInto(SubcomposeLayout.kt:259) at androidx.compose.ui.layout.SubcomposeLayoutState.access$subcomposeInto(SubcomposeLayout.kt:145) at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2.invoke(SubcomposeLayout.kt:234) at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2.invoke(SubcomposeLayout.kt:231) at androidx.compose.runtime.snapshots.SnapshotStateObserver.withNoObservations(SnapshotStateObserver.kt:144) at androidx.compose.ui.node.OwnerSnapshotObserver.withNoSnapshotReadObservation$ui_release(OwnerSnapshotObserver.kt:49) at androidx.compose.ui.node.LayoutNode.withNoSnapshotReadObservation$ui_release(LayoutNode.kt:1107) at androidx.compose.ui.layout.SubcomposeLayoutState.subcompose(SubcomposeLayout.kt:231) at androidx.compose.ui.layout.SubcomposeLayoutState.subcompose(SubcomposeLayout.kt:226) at androidx.compose.ui.layout.SubcomposeLayoutState.subcompose$ui_release(SubcomposeLayout.kt:215) at androidx.compose.ui.layout.SubcomposeLayoutState$Scope.subcompose(SubcomposeLayout.kt:466) at androidx.compose.foundation.lazy.LazyMeasuredItemProvider.getAndMeasure-ZjPyQlc(LazyMeasuredItemProvider.kt:48) at androidx.compose.foundation.lazy.LazyListMeasureKt.measureLazyList-9CW8viI(LazyListMeasure.kt:145) at androidx.compose.foundation.lazy.LazyListKt$LazyList$1.invoke-0kLqBqw(LazyList.kt:152) at androidx.compose.foundation.lazy.LazyListKt$LazyList$1.invoke(LazyList.kt:76) at androidx.compose.ui.layout.SubcomposeLayoutState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:345) at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable.kt:43) at androidx.compose.foundation.layout.PaddingValuesModifier.measure-3p2s80s(Padding.kt:417) at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39) at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:219) at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39) at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:100) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:99) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:128) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:75) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:63) at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:99) at androidx.compose.ui.node.OuterMeasurablePlaceable.measure-BRTryo0(OuterMeasurablePlaceable.kt:71) at androidx.compose.ui.node.LayoutNode.measure-BRTryo0(LayoutNode.kt:1227) at androidx.compose.foundation.layout.RowColumnImplKt$rowColumnMeasurePolicy$1.measure-3p2s80s(RowColumnImpl.kt:89) at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable.kt:43) at androidx.compose.foundation.layout.FillModifier.measure-3p2s80s(Size.kt:627) at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:100) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:99) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:128) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:75) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:63) at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:99) at androidx.compose.ui.node.OuterMeasurablePlaceable.measure-BRTryo0(OuterMeasurablePlaceable.kt:71) at androidx.compose.ui.node.LayoutNode.measure-BRTryo0(LayoutNode.kt:1227) at androidx.compose.foundation.layout.RowColumnImplKt$rowColumnMeasurePolicy$1.measure-3p2s80s(RowColumnImpl.kt:89) at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable.kt:43) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:100) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:99) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:128) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:75) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:63) at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:99) at androidx.compose.ui.node.OuterMeasurablePlaceable.measure-BRTryo0(OuterMeasurablePlaceable.kt:71) at androidx.compose.ui.node.LayoutNode.measure-BRTryo0(LayoutNode.kt:1227) at androidx.compose.ui.layout.RootMeasurePolicy.measure-3p2s80s(RootMeasurePolicy.kt:38) at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable.kt:43) at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:100) at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:99) at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:1776) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:123) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:75) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:63) at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:99) at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui_release(LayoutNode.kt:1236) at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-0kLqBqw(MeasureAndLayoutDelegate.kt:169) at androidx.compose.ui.node.MeasureAndLayoutDelegate.access$doRemeasure-0kLqBqw(MeasureAndLayoutDelegate.kt:38) at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout(MeasureAndLayoutDelegate.kt:207) at androidx.compose.ui.platform.AndroidComposeView.onMeasure_Original(AndroidComposeView.android.kt:547) at androidx.compose.ui.platform.AndroidComposeView.onMeasure(AndroidComposeView.android.kt:-1) at android.view.View.measure_Original(View.java:25466) at android.view.View_Delegate.measure(View_Delegate.java:80) at android.view.View.measure(View.java:25430) at androidx.compose.ui.platform.AbstractComposeView.internalOnMeasure$ui_release(ComposeView.android.kt:278) at androidx.compose.ui.platform.AbstractComposeView.onMeasure_Original(ComposeView.android.kt:265) at androidx.compose.ui.platform.AbstractComposeView.onMeasure(ComposeView.android.kt:-1) at android.view.View.measure_Original(View.java:25466) at android.view.View_Delegate.measure(View_Delegate.java:80) at android.view.View.measure(View.java:25430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure_Original(View.java:25466) at android.view.View_Delegate.measure(View_Delegate.java:80) at android.view.View.measure(View.java:25430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure_Original(View.java:25466) at android.view.View_Delegate.measure(View_Delegate.java:80) at android.view.View.measure(View.java:25430) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481) at android.view.View.measure_Original(View.java:25466) at android.view.View_Delegate.measure(View_Delegate.java:80) at android.view.View.measure(View.java:25430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure_Original(View.java:25466) at android.view.View_Delegate.measure(View_Delegate.java:80) at android.view.View.measure(View.java:25430)
Issue Analytics
- State:
- Created 2 years ago
- Comments:18 (9 by maintainers)
Top GitHub Comments
Hi @skydoves - yes I can build it. Preview does work.
However, the previews in
MainPosters.kt
do not use a GlideImage. When I replace theFrescoImage
in theHomePoster()
composable with aGlideImage
, preview crashes with the same issue:https://github.com/nosyjoe/Landscapist/commit/7f6e6d5ebfa72ba438089d79e6241ab207bedc6a
Hope this helps!
Hey @androidapkr, in the new stable
1.4.0
, we can resolve this issue like the below. A new parameterpreviewPlaceHolder
has been added. 😃