Status Update
Comments
ti...@google.com <ti...@google.com> #2
Hi. Thanks for reporting this. Fixed in alpha-04
al...@gmail.com <al...@gmail.com> #3
Branch: androidx-main
commit e782987543a9f8ccd485e970ddc74564b24378db
Author: Vighnesh Raut <vighnesh.raut13@gmail.com>
Date: Mon Jan 02 15:27:40 2023
fix: tab row crashes when only 1 tab is added
Bug:
Test: Added unit test
Change-Id: I6381dbac304fc1d69d3708c6655f8b595668e93f
M tv/tv-material/src/androidTest/java/androidx/tv/material/TabRowTest.kt
M tv/tv-material/src/main/java/androidx/tv/material/TabRow.kt
ta...@mercury.com <ta...@mercury.com> #4
kl...@google.com <kl...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.tv:tv-material:1.0.0-alpha04
ti...@google.com <ti...@google.com> #6
Re #5:
It's a good point that the durataion scale could be useful for other platforms. Though I'm not sure about making it a composition local, as that would open doors to unexpected behaviors where at different levels of the tree the animation is playing at different rate.
The good news is, it seems like we are able to read the Settings.Global.TRANSITION_ANIMATION_SCALE
without requiring any permission. We should be able to wire that up with the internal duration scale that we are using and be backward compatible.
Re #4:
Yes. Accesibility does seem to be modifying the same settings as the duration scale in developer options:
ap...@google.com <ap...@google.com> #7
Branch: androidx-main
commit f253fe11ef6d1deda386a0b48cbceca01e1d5e38
Author: Doris Liu <tianliu@google.com>
Date: Fri Feb 11 11:42:29 2022
Wire up animation scale in Dev Options with Compose animation
This CL introduced a MotionDurationScale CoroutineContext.Element. This
allows the duration scale to be put in the coroutine context used
by Recomposer. At the same time, user code can define their own
duration scale and add it to a coroutine context. It will impact
all the animations in that coroutine context.
Fixes: 161675988
Test: Included. Also added a benchmark.
RelNote: "Horray! Compose animation now supports
'Animator duration scale' setting from Developer Options."
Change-Id: I31c2425ff560949f24ef873559057e14f6916a39
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/MotionDurationScale.kt
M compose/animation/animation-core/build.gradle
M compose/ui/ui/api/restricted_current.txt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InfiniteTransition.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SuspendAnimation.kt
M compose/ui/ui/api/current.txt
A compose/animation/animation-core/src/test/java/androidx/compose/animation/core/DurationScaleTest.kt
A compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LifecycleAwareWindowRecomposerBenchmark.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WindowRecomposer.android.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
M compose/ui/ui/api/public_plus_experimental_current.txt
ae...@google.com <ae...@google.com> #8
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 23d09b5d5044d10cff93db84f5b59209f56d7e72
Author: Doris Liu <tianliu@google.com>
Date: Fri Feb 11 11:42:29 2022
Animation scale from settings expressed as a SateFlow
This CL introduced a MotionDurationScale CoroutineContext.Element. This
allows the duration scale to be put in the coroutine context used
by Recomposer. At the same time, user code can define their own
duration scale and add it to a coroutine context. It will impact
all the animations in that coroutine context.
Animation duration scale is now expressed as a global StateFlow per
application, with one ContentObserver that emits new values as
the settings change.
Fixes: 161675988
Test: Included. Also added a benchmark.
RelNote: "Horray! Compose animation now supports
'Animator duration scale' setting from Developer Options."
Change-Id: I5a4fc779a3fbfbcb2926ac1624cd679bb9b912ce
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/MotionDurationScale.kt
M compose/animation/animation-core/build.gradle
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InfiniteTransition.kt
M compose/ui/ui/api/restricted_current.txt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SuspendAnimation.kt
A compose/animation/animation-core/src/test/java/androidx/compose/animation/core/DurationScaleTest.kt
M compose/ui/ui/api/current.txt
A compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LifecycleAwareWindowRecomposerBenchmark.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WindowRecomposer.android.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
M compose/ui/ui/api/public_plus_experimental_current.txt
Description
- Window animation scale
- Transition animation scale
- Animator duration scale
in Developer options has no effect on transitions right now.
Not sure if there's a public API for them but they're important for debugging.