diff --git a/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java b/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java index 9265d56d01..d02792973f 100644 --- a/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java +++ b/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java @@ -4659,6 +4659,10 @@ public class RecyclerView extends ViewGroup implements ScrollingView, */ private void dispatchLayoutStep3() { mState.assertLayoutStep(State.STEP_ANIMATIONS); + if ((State.STEP_ANIMATIONS & mState.mLayoutStep) == 0) { + eu.faircode.email.Log.w(new Throwable("RecyclerView.dispatchLayoutStep3")); + return; + } startInterceptRequestLayout(); onEnterLayoutOrScroll(); mState.mLayoutStep = State.STEP_START; diff --git a/patches/RecyclerView.patch b/patches/RecyclerView.patch new file mode 100644 index 0000000000..fa54ad634a --- /dev/null +++ b/patches/RecyclerView.patch @@ -0,0 +1,15 @@ +diff --git a/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java b/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java +index 9265d56d01..d02792973f 100644 +--- a/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java ++++ b/app/src/main/java/androidx/recyclerview/widget/RecyclerView.java +@@ -4659,6 +4659,10 @@ public class RecyclerView extends ViewGroup implements ScrollingView, + */ + private void dispatchLayoutStep3() { + mState.assertLayoutStep(State.STEP_ANIMATIONS); ++ if ((State.STEP_ANIMATIONS & mState.mLayoutStep) == 0) { ++ eu.faircode.email.Log.w(new Throwable("RecyclerView.dispatchLayoutStep3")); ++ return; ++ } + startInterceptRequestLayout(); + onEnterLayoutOrScroll(); + mState.mLayoutStep = State.STEP_START;