Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit f36a3650dd3c73e77ad7cb64a89a034ccf58fd69
Author: Steven Schoen <digisteve5@gmail.com>
Date: Thu May 02 13:55:55 2024
Extract interface from SharedTransitionScope
SharedTransitionScope should match other scope interfaces and allow for
implementation. It also doesn't need to publicly expose its
`coroutineScope` property. This changes `SharedTransitionScope` to be an
interface, implemented by `SharedTransitionScopeImpl`.
Its public functions and types are in `SharedTransitionScope`, and its
implementation functions and helpers are in `SharedTransitionScopeImpl`.
Note: The internal `sharedBoundsWithCallerManagedVisibility` is in
`SharedTransitionScopeImpl`, so using it requires a cast. I personally
believe this should be made public, as I've already found use cases for
it, but that doesn't need to be done here.
Relnote: Experimental SharedTransitionScope is now an interface rather than a class
Test: existing tests pass
Fixes: 338415048
Fixes: 338414702
Change-Id: Iaf856b84ad2d91f94f8e294f015b6341808fcc74
M compose/animation/animation/api/current.txt
M compose/animation/animation/api/restricted_current.txt
M compose/animation/animation/src/androidInstrumentedTest/kotlin/androidx/compose/animation/SharedTransitionTest.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/RenderInTransitionOverlayNodeElement.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SharedElement.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SharedTransitionScope.kt
https://android-review.googlesource.com/3072864
Branch: androidx-main
commit f36a3650dd3c73e77ad7cb64a89a034ccf58fd69
Author: Steven Schoen <digisteve5@gmail.com>
Date: Thu May 02 13:55:55 2024
Extract interface from SharedTransitionScope
SharedTransitionScope should match other scope interfaces and allow for
implementation. It also doesn't need to publicly expose its
`coroutineScope` property. This changes `SharedTransitionScope` to be an
interface, implemented by `SharedTransitionScopeImpl`.
Its public functions and types are in `SharedTransitionScope`, and its
implementation functions and helpers are in `SharedTransitionScopeImpl`.
Note: The internal `sharedBoundsWithCallerManagedVisibility` is in
`SharedTransitionScopeImpl`, so using it requires a cast. I personally
believe this should be made public, as I've already found use cases for
it, but that doesn't need to be done here.
Relnote: Experimental SharedTransitionScope is now an interface rather than a class
Test: existing tests pass
Fixes: 338415048
Fixes: 338414702
Change-Id: Iaf856b84ad2d91f94f8e294f015b6341808fcc74
M compose/animation/animation/api/current.txt
M compose/animation/animation/api/restricted_current.txt
M compose/animation/animation/src/androidInstrumentedTest/kotlin/androidx/compose/animation/SharedTransitionTest.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/RenderInTransitionOverlayNodeElement.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SharedElement.kt
M compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SharedTransitionScope.kt
pr...@google.com <pr...@google.com> #3
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.animation:animation:1.7.0-beta01
androidx.compose.animation:animation-android:1.7.0-beta01
androidx.compose.animation:animation-desktop:1.7.0-beta01
androidx.glance:glance-testing:1.1.0-rc01
Description
Jetpack Compose version: 1.7.0 SNAPSHOT
Jetpack Compose component used: Animation
SharedTransitionScope
is currently a class, but it's used as a receiver for shared element modifiers. I'm trying to create my own scope type for navigation within my app, exposing things such as:AnimatedVisibilityScope
SharedTransitionScope
I'd like to make my scope type implement
SharedTransitionScope
, but since that's a class rather than an interface, I cannot. It'd be nice if that were an interface.