GestureViews icon indicating copy to clipboard operation
GestureViews copied to clipboard

You should call enter(...) before calling update(...) crash

Open SaikrishnaRajaraman opened this issue 5 years ago • 3 comments

java.lang.IllegalStateException: You should call enter(...) before calling update(...)
    at com.alexvasilkov.gestures.animation.ViewPositionAnimator.cleanBeforeUpdateInternal(ViewPositionAnimator.java:4)
    at com.alexvasilkov.gestures.transition.ViewsTransitionAnimator.onFromViewChanged(ViewsTransitionAnimator.java:4)
    at com.alexvasilkov.gestures.transition.ViewsCoordinator.setFromInternal(ViewsCoordinator.java:3)
    at com.alexvasilkov.gestures.transition.internal.FromRecyclerViewListener$1.onChildViewAttachedToWindow(FromRecyclerViewListener.java:9)
    at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7)
    at androidx.recyclerview.widget.ChildHelper.addView(ChildHelper.java:7)
    at androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:13)
    at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:2)
    at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:1)
    at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:19)
    at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
    at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:67)
    at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:3)
    at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:8)
    at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:12)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:23466)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
    at android.view.View.measure(View.java:23466)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:1)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:53)
    at android.view.View.measure(View.java:23466)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:21)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1565)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:726)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1565)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:726)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at com.android.internal.policy.DecorView.onMeasure(DecorView.java:847)
    at android.view.View.measure(View.java:23466)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2954)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1753)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2041)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1636)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7946)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1092)
    at android.view.Choreographer.doCallbacks(Choreographer.java:893)
    at android.view.Choreographer.doFrame(Choreographer.java:812)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1078)
    at android.os.Handler.handleCallback(Handler.java:907)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:216)
    at android.app.ActivityThread.main(ActivityThread.java:7625)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)

SaikrishnaRajaraman avatar Jun 04 '20 05:06 SaikrishnaRajaraman

I have the same issue, does anyone have the way to fix it ? :(

huybq93 avatar Jul 13 '20 09:07 huybq93

Sorry for late response. I checked the code and cannot find the bug, the only possible error case I can see is if you are calling any of the library's methods from non-UI thread. Can you check that you are only calling it from the main thread?

To dive deeper into the problem I will need to have a sample code and steps that cause the issue. If I'll be able to reproduce the issue it will be much easier to find and fix it.

alexvasilkov avatar Nov 24 '20 17:11 alexvasilkov

We don't actually call anything from the background thread. Actually, I'm also not able to reproduce the crash. Some users are getting this crash.

SaikrishnaRajaraman avatar May 12 '21 07:05 SaikrishnaRajaraman