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

Fatal Exception: java.lang.NumberFormatException #1

Closed
Vivecstel opened this issue Oct 11, 2021 · 2 comments
Closed

Fatal Exception: java.lang.NumberFormatException #1

Vivecstel opened this issue Oct 11, 2021 · 2 comments

Comments

@Vivecstel
Copy link

Hello,

Loved the library :) Found a crash when roundTo.

Fatal Exception: java.lang.NumberFormatException: For input string: "0,999"
       at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
       at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
       at java.lang.Float.parseFloat(Float.java:451)
       at me.nikhilchaudhari.quarks.core.ConstantsKt.roundTo(ConstantsKt.java:1)
       at me.nikhilchaudhari.quarks.particle.Particle.update(Particle.java:1)
       at me.nikhilchaudhari.quarks.emitters.ParticleExplodeEmitter.update(ParticleExplodeEmitter.java:2)
       at me.nikhilchaudhari.quarks.ParticleSystemKt$CreateParticles$2.invoke(ParticleSystemKt.java:19)
       at androidx.compose.ui.draw.DrawBackgroundModifier.draw(DrawBackgroundModifier.java:2)
       at androidx.compose.ui.node.ModifiedDrawNode.performDraw(ModifiedDrawNode.java:23)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:3)
       at androidx.compose.ui.node.InnerPlaceable.performDraw(InnerPlaceable.java:9)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:3)
       at androidx.compose.ui.node.InnerPlaceable.performDraw(InnerPlaceable.java:9)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:3)
       at androidx.compose.ui.node.InnerPlaceable.performDraw(InnerPlaceable.java:9)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper$invoke$1.invoke(LayoutNodeWrapper.java:1)
       at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.java:47)
       at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.java:12)
       at androidx.compose.ui.node.LayoutNodeWrapper.invoke(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.java:6)
       at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.java:38)
       at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.java:11)
       at androidx.compose.ui.node.LayoutNodeWrapper.N0(LayoutNodeWrapper.java:9)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNodeDrawScope.drawContent(LayoutNodeDrawScope.java:13)
       at androidx.compose.foundation.Background.draw(Background.java:9)
       at androidx.compose.ui.node.ModifiedDrawNode.performDraw(ModifiedDrawNode.java:23)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:3)
       at androidx.compose.ui.node.InnerPlaceable.performDraw(InnerPlaceable.java:9)
       at androidx.compose.ui.node.LayoutNodeWrapper$invoke$1.invoke(LayoutNodeWrapper.java:1)
       at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.java:47)
       at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.java:12)
       at androidx.compose.ui.node.LayoutNodeWrapper.invoke(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.java:6)
       at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.java:38)
       at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.java:11)
       at androidx.compose.ui.node.LayoutNodeWrapper.N0(LayoutNodeWrapper.java:9)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper$invoke$1.invoke(LayoutNodeWrapper.java:1)
       at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.java:47)
       at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.java:12)
       at androidx.compose.ui.node.LayoutNodeWrapper.invoke(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.java:6)
       at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.java:38)
       at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.java:11)
       at androidx.compose.ui.node.LayoutNodeWrapper.N0(LayoutNodeWrapper.java:9)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:3)
       at androidx.compose.ui.node.InnerPlaceable.performDraw(InnerPlaceable.java:9)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper$invoke$1.invoke(LayoutNodeWrapper.java:1)
       at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.java:47)
       at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.java:12)
       at androidx.compose.ui.node.LayoutNodeWrapper.invoke(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.java:6)
       at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.java:38)
       at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.java:11)
       at androidx.compose.ui.node.LayoutNodeWrapper.N0(LayoutNodeWrapper.java:9)
       at androidx.compose.ui.node.ModifiedLayoutNode.performDraw(ModifiedLayoutNode.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper$invoke$1.invoke(LayoutNodeWrapper.java:1)
       at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.java:40)
       at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.java:40)
       at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.java:12)
       at androidx.compose.ui.node.LayoutNodeWrapper.invoke(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.java:6)
       at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.java:38)
       at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.java:11)
       at androidx.compose.ui.node.LayoutNodeWrapper.N0(LayoutNodeWrapper.java:9)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:3)
       at androidx.compose.ui.node.InnerPlaceable.performDraw(InnerPlaceable.java:9)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.performDraw(DelegatingLayoutNodeWrapper.java:2)
       at androidx.compose.ui.node.LayoutNodeWrapper.draw(LayoutNodeWrapper.java:4)
       at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.java:9)
       at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.java:9)
       at android.view.View.draw(View.java:21443)
       at android.view.View.updateDisplayListIfDirty(View.java:20317)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4372)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4345)
       at android.view.View.updateDisplayListIfDirty(View.java:20277)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4372)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4345)
       at android.view.View.updateDisplayListIfDirty(View.java:20277)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4372)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4345)
       at android.view.View.updateDisplayListIfDirty(View.java:20277)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4372)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4345)
       at android.view.View.updateDisplayListIfDirty(View.java:20277)
       at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:575)
       at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:581)
       at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:654)
       at android.view.ViewRootImpl.draw(ViewRootImpl.java:3608)
       at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3416)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2753)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1719)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7602)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029)
       at android.view.Choreographer.doCallbacks(Choreographer.java:852)
       at android.view.Choreographer.doFrame(Choreographer.java:787)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014)
       at android.os.Handler.handleCallback(Handler.java:883)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7397)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
@CuriousNikhil
Copy link
Owner

CuriousNikhil commented Oct 12, 2021

Hello,
Thanks for raising the issue.
These APIs are likely to be changed in future releases since this is pre-release.
Could you please share the code - where you are calling the CreateParticles(...) function?
I would appreciate a PR, if you could fix it.

Thank you. I'll fix the issue.

@Vivecstel
Copy link
Author

This is the code I am using.

CreateParticles(
            modifier = Modifier.fillMaxSize(),
            x = 500f,
            y = 1000f,
            velocity = Velocity(xDirection = 1f, yDirection = 1f),
            force = Force.Gravity(0f),
            acceleration = Acceleration(0f, 0f),
            particleSize = ParticleSize.RandomSizes(25..100),
            particleColor = ParticleColor.RandomColors(
                listOf(
                    Color.White,
                    Color.Yellow,
                    Color.Red,
                    Color.Blue
                )
            ),
            lifeTime = LifeTime(255f, 0.2f),
            emissionType = EmissionType.ExplodeEmission(numberOfParticles = 100),
            durationMillis = 10_000
        )

Yes, I could send a PR within this week if enough time :)

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