-
-
Notifications
You must be signed in to change notification settings - Fork 306
Open
Description
Please complete the following information:
- Library Version: latest 1.6.12
- Affected Device(s) Several with android 12+
Describe the Bug:
I can't reproduce the issue, however I can see a crash, it was not before,
Fatal Exception: java.lang.IllegalArgumentException: The width of the balloon must bigger than zero.
at com.skydoves.balloon.Balloon$Builder.setMeasuredWidth(Balloon.kt:2439)
at com.skydoves.balloon.Balloon.updateSizeOfBalloonCard(Balloon.kt:1698)
at com.skydoves.balloon.compose.BalloonComposeView.updateSizeOfBalloonCard-ozmzZPI$balloon_compose_release(BalloonComposeView.kt:315)
at com.skydoves.balloon.compose.BalloonKt$Balloon$6.invoke$lambda$3$lambda$2(Balloon.kt:165)
at androidx.compose.ui.layout.OnGloballyPositionedNode.onGloballyPositioned(OnGloballyPositionedModifier.kt:75)
at androidx.compose.ui.node.LayoutNode.dispatchOnPositionedCallbacks$ui_release(LayoutNode.kt:1176)
at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(OnPositionedDispatcher.kt:76)
at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(OnPositionedDispatcher.kt:79)
at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(OnPositionedDispatcher.kt:79)
at androidx.compose.ui.node.OnPositionedDispatcher.dispatch(OnPositionedDispatcher.kt:67)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.dispatchOnPositionedCallbacks(MeasureAndLayoutDelegate.kt:719)
at androidx.compose.ui.platform.AndroidComposeView.updatePositionCacheAndDispatch(AndroidComposeView.android.kt:1721)
at androidx.compose.ui.platform.AndroidComposeView.onLayout(AndroidComposeView.android.kt:1687)
at android.view.View.layout(View.java:25484)
at android.view.ViewGroup.layout(ViewGroup.java:6441)
at androidx.compose.ui.platform.AbstractComposeView.internalOnLayout$ui_release(ComposeView.android.kt:320)
at androidx.compose.ui.window.PopupLayout.internalOnLayout$ui_release(AndroidPopup.android.kt:608)
at androidx.compose.ui.platform.AbstractComposeView.onLayout(ComposeView.android.kt:310)
at android.view.View.layout(View.java:25484)
at android.view.ViewGroup.layout(ViewGroup.java:6441)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:5214)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4329)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3155)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10833)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
at android.view.Choreographer.doFrame(Choreographer.java:945)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
at android.os.Handler.handleCallback(Handler.java:1001)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loopOnce(Looper.java:268)
at android.os.Looper.loop(Looper.java:384)
at android.app.ActivityThread.main(ActivityThread.java:8921)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:907)
In crashlytics/sentry the same, I'm not sure which one is causing the conflict, But I suspect that this is the one:
@Composable
fun appDrawerBalloonFactory(): Balloon.Builder {
val context = LocalContext.current
return rememberBalloonBuilder {
setArrowSize(14)
setArrowOrientationRules(ArrowOrientationRules.ALIGN_ANCHOR)
setArrowOrientation(ArrowOrientation.BOTTOM)
setArrowPosition(0.15f)
setWidth(BalloonSizeSpec.WRAP)
setPadding(12)
setCornerRadius(4f)
setTextSize(17f)
setBackgroundColor(context.getPrimaryContainerColor())
setBalloonAnimation(BalloonAnimation.CIRCULAR)
setPreferenceName(BalloonFactory.PREFERENCE_NAME_BALLOON_APP_DRAWER)
setShowCounts(1)
setBalloonHighlightAnimation(BalloonHighlightAnimation.SHAKE)
}
}Calling
items.forEach {
when (it) {
BottomBarItems.AppDrawer -> {
Balloon(
modifier = Modifier,
builder = appDrawerBalloonFactory(),
balloonContent = {
Text(
text = stringResource(id = R.string.tool_tip_app_drawer),
modifier = Modifier,
style = MaterialTheme.typography.titleMedium,
color = MaterialTheme.colorScheme.onPrimaryContainer
)
}
) {
NavIcon(
icon = ImageVector.vectorResource(id = R.drawable.ic_apps),
onItemClick = onAppDrawerClicked
)
it.showAlignTop()
}
}
Add a clear description about the problem.
Expected Behavior:
to not crash.
A clear description of what you expected to happen.
I can't reproduce, since it seems that happens randomly but I can see several users with this issue tho,
sureshmaidaragi1919
Metadata
Metadata
Assignees
Labels
No labels