Status Update
Comments
be...@gmail.com <be...@gmail.com> #2
We could add an API to make the weighted distance customizable, aosp/3271691 has more info.
an...@google.com <an...@google.com> #3
It looks like this function signature was changed between 1.6.0-alpha08 and 1.6.0-alpha01, which seems like a likely source for this crash. It first returned an Int
while the library was in alpha and then became a Float
-returning function in the first beta. Here's the
The debug vs. release difference also points to to the possibility that something in your project setup is causing this issue. Here are a few things I'd recommend looking into on your end first:
- Ensure that R8 is properly configured and isn't incorrectly removing the
androidx.compose.ui.platform.ViewConfiguration.getMaximumFlingVelocity()
method (as it's compiled into Java) as dead code - Ensure that you've updated the
compose:ui:ui-foundation
library to its latest version. You may need to check other library versions too and ensure they are up-to-date. This is especially important when you're upgrading from an alpha release of a Compose library — we don't guarantee API stability for new APIs or APIs that have graduated from experimental to stable during the alpha window. So upgrading from an alpha version to any future version isn't always backwards-compatible and may bring binary breaking changes. - If you're heavily caching build artifacts or are using internal dependencies that used the alpha versions of Compose libraries, you may need to re-compile them against your current dependency set.
Let me know if any of that helps. If not, we can start troubleshooting on our end to see if something has gone wrong with versioning or the API change. A sample project would still be much appreciated if you're able to put one together.
Description
Jetpack Compose component used: Column
Android Studio Build: #AI-223.8836.35.2231.10406996
Kotlin version: 1.8.0
This happens when scrolling inside a Column component, containing multiple rows of miscellaneous content.
Not sure which component is to blame.
This happened when upgrading "androidx.compose.ui:ui-viewbinding". It appeared with 1.6.0-beta01, and is still there in 1.6.0-beta02.
No issue with 1.6.0-alpha08 and before.
Steps to Reproduce or Code Sample to Reproduce:
It is inside a big project. I'll try to recreate the issue in a simpler code sample, but I'm not sure where this is coming from.
Stack trace:
msg: java.lang.NoSuchMethodError: No interface method getMaximumFlingVelocity()I in class Landroidx/compose/ui/platform/ViewConfiguration; or its super classes (declaration of 'androidx.compose.ui.platform.ViewConfiguration' appears in base.apk)
stacktrace: java.lang.NoSuchMethodError: No interface method getMaximumFlingVelocity()I in class Landroidx/compose/ui/platform/ViewConfiguration; or its super classes (declaration of 'androidx.compose.ui.platform.ViewConfiguration' appears in base.apk)
at androidx.compose.foundation.gestures.DraggableNode$pointerInputNode$1$1$1.invokeSuspend(Draggable.kt:377)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:177)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:544)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:566)
at androidx.compose.foundation.gestures.DraggableNode.onPointerEvent-H0pRuoY(Draggable.kt:413)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:317)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:185)
at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:104)
at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:113)
at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1577)
at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1528)
at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:1467)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:498)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1891)
at android.app.Activity.dispatchTouchEvent(Activity.java:4202)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:456)
at android.view.View.dispatchPointerEvent(View.java:14858)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6457)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6253)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5731)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5788)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5754)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5919)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5762)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5976)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5735)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5788)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5754)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5762)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5735)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8714)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8665)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8634)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8837)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:259)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:161)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7833)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)