Fixed
Status Update
Comments
sm...@google.com <sm...@google.com> #2
I was able to repro locally using the snippet in #1. The slide should never be applied to the content for state == 0, i.e. the green box.
Will take a look. Thanks for the repro steps, Jeremy.
ap...@google.com <ap...@google.com> #3
I'm having an issue with Compose navigation-animation which might be caused by this.
I have two screens: List and Details.
List screen uses default transitions.
Details screen uses the following transitions:
enterTransition = {
slideIntoContainer(
AnimatedContentScope.SlideDirection.Up,
animationSpec = tween(400)
)
},
popExitTransition = {
slideOutOfContainer(
AnimatedContentScope.SlideDirection.Down,
animationSpec = tween(200)
)
},
The video is showing the bug vs expected. It's hard to describe: after clicking the back button before the transition to the Details screen was completed, the List screen moves up a little.
je...@gmail.com <je...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 7e3b52b20e73c397019f474ab15eb8ea64a872d3
Author: Doris Liu <tianliu@google.com>
Date: Thu Sep 29 18:06:42 2022
Fix incorrect interruption animation in AnimatedContent
Bug: 238662479
Test: included
Change-Id: I86bb98800070f4584e30a1d0a4edec274b0c7e5c
A compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedContentWithInterruptions.kt
M compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/AnimatedContentTest.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/EnterExitTransition.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedContent.kt
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/AnimationDemos.kt
https://android-review.googlesource.com/2239235
Branch: androidx-main
commit 7e3b52b20e73c397019f474ab15eb8ea64a872d3
Author: Doris Liu <tianliu@google.com>
Date: Thu Sep 29 18:06:42 2022
Fix incorrect interruption animation in AnimatedContent
Bug: 238662479
Test: included
Change-Id: I86bb98800070f4584e30a1d0a4edec274b0c7e5c
A compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedContentWithInterruptions.kt
M compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/AnimatedContentTest.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/EnterExitTransition.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedContent.kt
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/AnimationDemos.kt
je...@gmail.com <je...@gmail.com> #5
The following release(s) address this bug:
androidx.compose.animation:animation:1.4.0-alpha01
ap...@google.com <ap...@google.com> #6
Why is this not released as a hotfix so stable users can get the bug fix right away?
sm...@google.com <sm...@google.com> #7
He is mine just saying his time is my time
sm...@google.com <sm...@google.com> #8
For some reason I can't edit bug status (or assignee).
sh...@google.com <sh...@google.com>
al...@gmail.com <al...@gmail.com> #9
This isn't fixed in alpha 6 :(. It's easily reproducible by starting a drag with one finger and then tapping somewhere else (think back button) which calls clearSelection().
PS: this issue is a duplicate:https://issuetracker.google.com/issues/130707991
PS: this issue is a duplicate:
sm...@google.com <sm...@google.com> #10
Thanks for the repo steps. I don't have permissions to re-open this bug, but will followup on b/130707991 .
Description
Fatal Exception: java.lang.IllegalStateException: Range start point not set.
at androidx.core.util.Preconditions.checkState(SourceFile:96)
at androidx.recyclerview.selection.DefaultSelectionTracker.extendProvisionalRange(SourceFile:281)
at androidx.recyclerview.selection.GestureSelectionHelper.extendSelection(SourceFile:227)
at androidx.recyclerview.selection.GestureSelectionHelper.handleMoveEvent(SourceFile:204)
at androidx.recyclerview.selection.GestureSelectionHelper.handleTouch(SourceFile:151)
at androidx.recyclerview.selection.GestureSelectionHelper.onTouchEvent(SourceFile:125)
at androidx.recyclerview.selection.TouchEventRouter.onTouchEvent(SourceFile:103)
at androidx.recyclerview.widget.RecyclerView.dispatchToOnItemTouchListeners(SourceFile:3035)
at android.view.View.dispatchTouchEvent(View.java:10775)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2859)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2535)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:568)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1896)
at android.app.Activity.dispatchTouchEvent(Activity.java:3247)
at com.supercilex.robotscouter.core.ui.ActivityBase.dispatchTouchEvent(SourceFile:82)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:530)
at android.view.View.dispatchPointerEvent(View.java:11004)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5111)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4963)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4494)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4547)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4513)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4646)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4521)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4703)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4494)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4547)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4513)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4521)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4494)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7003)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6934)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6895)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7113)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7077)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7140)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:702)
at android.view.Choreographer.doFrame(Choreographer.java:632)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6836)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)