Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offset is unspecified #102

Open
AhmerAfzal1 opened this issue Nov 29, 2023 · 6 comments
Open

Offset is unspecified #102

AhmerAfzal1 opened this issue Nov 29, 2023 · 6 comments

Comments

@AhmerAfzal1
Copy link

Kotlin: 1.9.20
Compose: compose-bom:2023.10.01
Android Studio Giraffe | 2022.3.1 Patch 4
Build #AI-223.8836.35.2231.11090377, built on November 14, 2023

FATAL EXCEPTION: main
Process: com.ahmer.accounts, PID: 22055
java.lang.IllegalStateException: Offset is unspecified
	at androidx.compose.ui.geometry.Offset.getX-impl(Offset.kt:67)
	at com.aay.compose.donutChart.component.PiePedigreeChartKt.drawPedigreeChart-88mDfTA(PiePedigreeChart.kt:62)
	at com.aay.compose.donutChart.PieChartKt$drawPieChart$1.invoke(PieChart.kt:168)
	at com.aay.compose.donutChart.PieChartKt$drawPieChart$1.invoke(PieChart.kt:159)
	at androidx.compose.ui.draw.DrawBackgroundModifier.draw(DrawModifier.kt:116)
	at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-x_KDEd0$ui_release(LayoutNodeDrawScope.kt:105)
	at androidx.compose.ui.node.LayoutNodeDrawScope.draw-x_KDEd0$ui_release(LayoutNodeDrawScope.kt:86)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:365)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:922)
	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:922)
	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:922)
	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:54)
	at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:384)
	at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:383)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2299)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe(SnapshotStateObserver.kt:467)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:230)
	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:133)
	at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:383)
	at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:54)
	at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.android.kt:209)
	at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.android.kt:305)
app_time_stats: avg=16.19ms min=3.91ms max=37.41ms count=30
	at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.android.kt:246)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:349)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:922)
	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:54)
	at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:384)
	at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:383)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2299)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe(SnapshotStateObserver.kt:467)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:230)
	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:133)
	at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:383)
	at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:54)
	at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.android.kt:209)
	at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.android.kt:305)
	at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.android.kt:246)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:349)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:182)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:922)
	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:354)
	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:922)
	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:362)
	at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:54)
	at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:384)
	at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:383)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2299)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe(SnapshotStateObserver.kt:467)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:230)
	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:133)
	at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:383)
	at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:54)
	at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.android.kt:209)
	at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.android.kt:305)
	at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.android.kt:1138)
	at android.view.View.draw(View.java:23892)
	at android.view.View.updateDisplayListIfDirty(View.java:22756)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4540)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4513)
	at android.view.View.updateDisplayListIfDirty(View.java:22712)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4540)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4513)
	at android.view.View.updateDisplayListIfDirty(View.java:22712)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4540)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4513)
	at android.view.View.updateDisplayListIfDirty(View.java:22712)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4540)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4513)
	at android.view.View.updateDisplayListIfDirty(View.java:22712)
	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:694)
	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:700)
	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:798)
	at android.view.ViewRootImpl.draw(ViewRootImpl.java:4939)
	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4643)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3822)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2465)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9305)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1339)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1348)
	at android.view.Choreographer.doCallbacks(Choreographer.java:952)
	at android.view.Choreographer.doFrame(Choreographer.java:882)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1322)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8177)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
@yousefkazemy1
Copy link

share the sample data you used to show it in this chart!

@yousefkazemy1
Copy link

In this situation, this error occurs in the Offset class.
this.packedValue != Unspecified.packedValue
Unspecified.packedValue => Offset(Float.NaN, Float.NaN)
It means Offset variables are undefined

@AhmerAfzal1
Copy link
Author

val mData: List<PieChartData> by lazy {
                listOf(
                    PieChartData(
                        partName = Constants.TYPE_CREDIT,
                        data = 0.0,
                        color = colorGreenDark
                    ), PieChartData(
                        partName = Constants.TYPE_DEBIT,
                        data = 0.0,
                        color = colorRedDark
                    )
                )
            }
            Row(modifier = Modifier.padding(all = 16.dp)) {
                DonutChart(
                    modifier = Modifier.fillMaxSize(),
                    pieChartData = mData,
                    centerTitle = "Balance".uppercase(),
                    centerTitleStyle = TextStyle.Default.copy(
                        fontSize = 14.sp, fontWeight = FontWeight.Bold
                    ),
                    descriptionStyle = TextStyle.Default.copy(
                        fontSize = 14.sp,
                        fontWeight = FontWeight.Bold,
                    ),
                    textRatioStyle = TextStyle.Default.copy(fontSize = 14.sp),
                    outerCircularColor = MaterialTheme.colorScheme.primary,
                    innerCircularColor = MaterialTheme.colorScheme.primary,
                    ratioLineColor = MaterialTheme.colorScheme.primary,
                    legendPosition = LegendPosition.BOTTOM
                )
            }

@AhmerAfzal1
Copy link
Author

App crash when value sum is 0, also crash when data loading from viewModel and initial value is 0, app crash Offset is unspecified

@yousefkazemy1
Copy link

You are right.
Check this, I fixed the issue.
#100

@AhmerAfzal1
Copy link
Author

AhmerAfzal1 commented Dec 2, 2023

Slice and color not filled, description also not visible, in 2nd screenshot percentage line position not correct

Screenshot_20231202_192832

Screenshot_20231202_192641

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants