kizitonwose / Calendar

A highly customizable calendar view and compose library for Android.
MIT License
4.5k stars 492 forks source link

Exception occurs with material3-window-size-class #531

Closed Efimj closed 4 months ago

Efimj commented 4 months ago

Library information:

Describe the bug

When adding a dependency: implementation('androidx.compose.material3:material3-window-size-class:1.2.0') when trying to scroll any horizontal calendar component, an exception is thrown: java.lang.AbstractMethodError: abstract method "float androidx.compose.foundation.gestures.snapping.SnapLayoutInfoProvider.calculateApproachOffset(float)"

To Reproduce

Steps to reproduce the behavior:

  1. Add to gradle implementation('androidx.compose.material3:material3-window-size-class:1.2.0')
  2. Create component with horizontal calendar
  3. Run and try to scroll the component

Additional information

Most likely this is a problem with the added library (implementation('androidx.compose.material3:material3-window-size-class:1.2.0')), which is marked experimental.


                                                                                                    Process: com.jobik.shkiper, PID: 16690
                                                                                                    java.lang.AbstractMethodError: abstract method "float androidx.compose.foundation.gestures.snapping.SnapLayoutInfoProvider.calculateApproachOffset(float)"
                                                                                                        at androidx.compose.foundation.gestures.snapping.SnapFlingBehavior$fling$result$1.invokeSuspend(SnapFlingBehavior.kt:167)
                                                                                                        at androidx.compose.foundation.gestures.snapping.SnapFlingBehavior$fling$result$1.invoke(Unknown Source:8)
                                                                                                        at androidx.compose.foundation.gestures.snapping.SnapFlingBehavior$fling$result$1.invoke(Unknown Source:4)
                                                                                                        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
                                                                                                        at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
                                                                                                        at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
                                                                                                        at androidx.compose.foundation.gestures.snapping.SnapFlingBehavior.fling(SnapFlingBehavior.kt:165)
                                                                                                        at androidx.compose.foundation.gestures.snapping.SnapFlingBehavior.performFling(SnapFlingBehavior.kt:151)
                                                                                                        at androidx.compose.foundation.gestures.snapping.SnapFlingBehavior.performFling(SnapFlingBehavior.kt:130)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic$doFlingAnimation$2.invokeSuspend(Scrollable.kt:844)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic$doFlingAnimation$2.invoke(Unknown Source:8)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic$doFlingAnimation$2.invoke(Unknown Source:4)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState$scroll$2$1.invokeSuspend(ScrollableState.kt:181)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState$scroll$2$1.invoke(Unknown Source:8)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState$scroll$2$1.invoke(Unknown Source:4)
                                                                                                        at androidx.compose.foundation.MutatorMutex$mutateWith$2.invokeSuspend(MutatorMutex.kt:173)
                                                                                                        at androidx.compose.foundation.MutatorMutex$mutateWith$2.invoke(Unknown Source:8)
                                                                                                        at androidx.compose.foundation.MutatorMutex$mutateWith$2.invoke(Unknown Source:4)
                                                                                                        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
                                                                                                        at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
                                                                                                        at androidx.compose.foundation.MutatorMutex.mutateWith(MutatorMutex.kt:166)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState$scroll$2.invokeSuspend(ScrollableState.kt:178)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState$scroll$2.invoke(Unknown Source:8)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState$scroll$2.invoke(Unknown Source:4)
                                                                                                        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
                                                                                                        at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
                                                                                                        at androidx.compose.foundation.gestures.DefaultScrollableState.scroll(ScrollableState.kt:177)
                                                                                                        at androidx.compose.foundation.lazy.LazyListState.scroll(LazyListState.kt:295)
                                                                                                        at androidx.compose.foundation.gestures.ScrollableState.scroll$default(ScrollableState.kt:53)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic.doFlingAnimation-QWom1Mo(Scrollable.kt:831)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic$onDragStopped$performFling$1.invokeSuspend(Scrollable.kt:807)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic$onDragStopped$performFling$1.invoke-sF-c-tU(Unknown Source:12)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic$onDragStopped$performFling$1.invoke(Unknown Source:10)
                                                                                                        at androidx.compose.foundation.AndroidEdgeEffectOverscrollEffect.applyToFling-BMRW4eQ(AndroidOverscroll.android.kt:248)
                                                                                                        at androidx.compose.foundation.gestures.ScrollingLogic.onDragStopped-sF-c-tU(Scrollable.kt:820)
                                                                                                        at androidx.compose.foundation.gestures.ScrollableGesturesNode$onDragStopped$1$1.invokeSuspend(Scrollable.kt:612)
                                                                                                        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-02-10 14:18:55.777 16690-16690 AndroidRuntime          com.jobik.shkiper                    E      at androidx.compose.ui.platform.AndroidUiDispatcher.performTrampolineDispatch(AndroidUiDispatcher.android.kt:81)
                                                                                                        at androidx.compose.ui.platform.AndroidUiDispatcher.access$performTrampolineDispatch(AndroidUiDispatcher.android.kt:41)
                                                                                                        at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:68)
                                                                                                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:909)
                                                                                                        at android.view.Choreographer.doCallbacks(Choreographer.java:723)
                                                                                                        at android.view.Choreographer.doFrame(Choreographer.java:655)
                                                                                                        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
                                                                                                        at android.os.Handler.handleCallback(Handler.java:790)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                        at android.os.Looper.loop(Looper.java:164)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:6494)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)```
kizitonwose commented 4 months ago

Please use version 2.5.0