Screen based animation overrides
We have added experimental support for animations based on the source/target screens and the type of navigation event. This can be accomplished with the the new AnimatedScreenTransform
interface, allowing customization of the ContentTransform
used when transitioning between screens. Having support for screen based animation overrides is especially important for use with shared element transitions, as it provides the ability to replace the transition before the shared elements are loaded.
See this PR for more details and example implementations. Please share feedback in this discussion.
Behaviour Changes
State retention logic was simplified by removing LocalCanRetainChecker
with CanRetainChecker
becoming an implementation detail of a RetainedStateRegistry
. This potentially impacts uses of rememberRetained
that depended on LocalCanRetainChecker
as rememberRetained
would use the composition local before using rememberCanRetainChecker
. Also, as rememberCanRetainChecker
was only needed for Continuity
it has been renamed to rememberContinuityCanRetainChecker
.
Fixes
Fixed a crash caused by calling resetRoot
while NavigableCircuitContent
was animating. This was commonly encountered in a bottom nav bar scenario while rapidly changing tabs and calling resetRoot
. Prior to 0.26.0
this was resulting in state loss.
What's Changed
- [FIXED] 404 errors for video demo and css files by @hossain-khan in #1951
- Update agp to v8.8.1 by @slack-oss-bot in #1949
- Update dependency com.jakewharton.mosaic:mosaic-runtime to v0.16.0 by @slack-oss-bot in #1952
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.15.1 by @slack-oss-bot in #1955
- Update roborazzi to v1.42.0 by @slack-oss-bot in #1954
- Add Missing Configuration Info on Readme by @ansehoon1999 in #1957
- Update dependency mkdocs-material to v9.6.5 by @slack-oss-bot in #1958
- Update dependency io.gitlab.arturbosch.detekt to v1.23.8 by @slack-oss-bot in #1960
- Add shared elements baseline profile by @ZacSweers in #1963
- Fix random unnecessary parens by @ZacSweers in #1962
- Update to JDK 23 by @ZacSweers in #1964
- Fix reset root crash by @stagg in #1965
- Update dependency com.android.tools:desugar_jdk_libs to v2.1.5 by @slack-oss-bot in #1967
- Update agp to v8.8.2 by @slack-oss-bot in #1970
- Update roborazzi to v1.43.0 by @slack-oss-bot in #1975
- Update ktor monorepo to v3.1.1 by @slack-oss-bot in #1966
- Update dependency net.harawata:appdirs to v1.4.0 by @slack-oss-bot in #1974
- Update ksp monorepo to v2.1.10-1.0.31 by @slack-oss-bot in #1976
- Update androidx.activity to v1.10.1 by @slack-oss-bot in #1971
- Update dependency androidx.constraintlayout:constraintlayout-compose to v1.1.1 by @slack-oss-bot in #1972
- Update dependency androidx.datastore:datastore-preferences to v1.1.3 by @slack-oss-bot in #1973
- Update kotlinpoet to v2.1.0 by @slack-oss-bot in #1969
- Update dependency gradle to v8.13 by @slack-oss-bot in #1968
- Proposal for modifying CanRetainChecker to apply exclusively to RetainedStateRegistry by @vulpeszerda in #1934
- Screen based animation overrides by @stagg in #1901
- Make assisted injection detection more robust in code gen by @ZacSweers in #1979
- Add regression test for parameter order by @ZacSweers in #1981
- Docs - Shared element updates by @stagg in #1978
New Contributors
- @ansehoon1999 made their first contribution in #1957
Full Changelog: 0.26.1...0.27.0