kizitonwose / Calendar

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

Swiping on Calendar composable results in crash with following exception "java.lang.AbstractMethodError: abstract method "float androidx.compose.foundation.gestures.snapping.SnapLayoutInfoProvider.calculateApproachOffset(float)"" #511

Closed RickertBrandsen closed 7 months ago

RickertBrandsen commented 7 months ago

Library information:

Describe the bug**

Created new clean android studio project couple of times and took the compose sample number 3 and everything ran smoothly without any issues. But once I imported in my larger project the following exception when swiping on calendar appeared resulting in app crash.

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)

Initially thought, that it might be crashing because my composable being wrapped inside composable's Constraint layout, but it is actually crashing in general, but as I said, strange thing is, that in plain projects was everything working fine for me.

Is there anything I am overlooking? Can post my configs/etc if needed. Thanks for eventual helping hand.

To Reproduce (if applicable)

Steps to reproduce the behavior:

  1. Go to Calendar screen
  2. Swipe on Calendar
  3. See app crashing and Exception in logs

Expected behavior (if applicable)

App should not be crashing in this case.

kizitonwose commented 7 months ago

Can you verify that you are using the appropriate calendar version?

Screenshot 2023-11-26 at 09 16 44

This was fixed in #501

RickertBrandsen commented 7 months ago

Can you verify that you are using the appropriate calendar version?

Screenshot 2023-11-26 at 09 16 44

This was fixed in #501

Yes, you are right, have been on wrong versions, upgraded to the ones, mentioned in #501.

Thank you very much! Great library.