Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Another option is to provide a setContent
like API specifically for Fragments.
E.g., an extension like:
fun Fragment.content(content: @Composable () -> Unit): ComposeView {
return ComposeView(requireContext()).apply {
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
setContent(content)
}
}
which would let you write a Fragment like:
class ExampleFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = content {
// Write your @Composable content here
val viewModel: ExampleViewModel = viewModel()
// or extract it into a separate, testable method
ExampleComposable(viewModel)
}
}
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit a066a43da39b518751bcbd5baed63decb657f3bb
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Jan 16 22:11:03 2024
Add Fragment Compose module in Androidx
Adding Fragment Compose module using the create_project.py script.
RelNote: n/a
Test: ./gradlew updateApi
Bug: 258046948
Change-Id: Ia35d149c8ab0d78331206accf53e25a717f97291
M docs-tip-of-tree/build.gradle
A fragment/fragment-compose/api/current.txt
A fragment/fragment-compose/api/res-current.txt
A fragment/fragment-compose/api/restricted_current.txt
A fragment/fragment-compose/build.gradle
A fragment/fragment-compose/src/main/java/androidx/fragment/androidx-fragment-fragment-compose-documentation.md
M settings.gradle
https://android-review.googlesource.com/2912225
Branch: androidx-main
commit a066a43da39b518751bcbd5baed63decb657f3bb
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Jan 16 22:11:03 2024
Add Fragment Compose module in Androidx
Adding Fragment Compose module using the create_project.py script.
RelNote: n/a
Test: ./gradlew updateApi
Bug: 258046948
Change-Id: Ia35d149c8ab0d78331206accf53e25a717f97291
M docs-tip-of-tree/build.gradle
A fragment/fragment-compose/api/current.txt
A fragment/fragment-compose/api/res-current.txt
A fragment/fragment-compose/api/restricted_current.txt
A fragment/fragment-compose/build.gradle
A fragment/fragment-compose/src/main/java/androidx/fragment/androidx-fragment-fragment-compose-documentation.md
M settings.gradle
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 561cb75bdf7e971f0ba2dec3cdc3286e1b415ecf
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Jan 16 23:53:00 2024
Add Fragment.content extension
Provides an easy integration for providing Compose content inside of a
Fragment that sets the ComposeView and ViewCompositionStrategy.
RelNote: "The new Fragment Compose module provides a Fragment.content
extension function to handle setting a Fragment's view in Compose."
Test: added test
Bug: 258046948
Change-Id: Ia166527918517593e94bcae239ff714df4dc00ad
M fragment/fragment-compose/api/current.txt
M fragment/fragment-compose/api/restricted_current.txt
M fragment/fragment-compose/build.gradle
A fragment/fragment-compose/src/androidTest/AndroidManifest.xml
A fragment/fragment-compose/src/androidTest/java/androidx/fragment/compose/FragmentTest.kt
A fragment/fragment-compose/src/androidTest/java/androidx/fragment/compose/test/TestActivity.kt
A fragment/fragment-compose/src/androidTest/res/layout/activity_main.xml
A fragment/fragment-compose/src/main/java/androidx/fragment/compose/Fragment.kt
https://android-review.googlesource.com/2911416
Branch: androidx-main
commit 561cb75bdf7e971f0ba2dec3cdc3286e1b415ecf
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Jan 16 23:53:00 2024
Add Fragment.content extension
Provides an easy integration for providing Compose content inside of a
Fragment that sets the ComposeView and ViewCompositionStrategy.
RelNote: "The new Fragment Compose module provides a Fragment.content
extension function to handle setting a Fragment's view in Compose."
Test: added test
Bug: 258046948
Change-Id: Ia166527918517593e94bcae239ff714df4dc00ad
M fragment/fragment-compose/api/current.txt
M fragment/fragment-compose/api/restricted_current.txt
M fragment/fragment-compose/build.gradle
A fragment/fragment-compose/src/androidTest/AndroidManifest.xml
A fragment/fragment-compose/src/androidTest/java/androidx/fragment/compose/FragmentTest.kt
A fragment/fragment-compose/src/androidTest/java/androidx/fragment/compose/test/TestActivity.kt
A fragment/fragment-compose/src/androidTest/res/layout/activity_main.xml
A fragment/fragment-compose/src/main/java/androidx/fragment/compose/Fragment.kt
jb...@google.com <jb...@google.com> #5
This has been fixed internally and will be available in the Fragment 1.7.0-alpha09
release.
ap...@google.com <ap...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.wear.protolayout:protolayout-material-core:1.1.0-rc01
androidx.wear.tiles:tiles-tooling:1.3.0-rc01
androidx.wear.tiles:tiles-tooling-preview:1.3.0-rc01
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: snap-temp-L04700000699849955
commit 1546a28093a311051eb3c34309fbed3229c5e648
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
https://android-review.googlesource.com/1436749
Branch: snap-temp-L04700000699849955
commit 1546a28093a311051eb3c34309fbed3229c5e648
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: snap-temp-L69500000699869549
commit 0330f7a7a613a290675d78b6e2d0f78cf15521d6
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
https://android-review.googlesource.com/1436912
Branch: snap-temp-L69500000699869549
commit 0330f7a7a613a290675d78b6e2d0f78cf15521d6
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
ap...@google.com <ap...@google.com> #9
Project: platform/frameworks/support
Branch: snap-temp-L31300000699869852
commit ae16020f57114d8e9f07544dc57e9c00c4153d26
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
https://android-review.googlesource.com/1436916
Branch: snap-temp-L31300000699869852
commit ae16020f57114d8e9f07544dc57e9c00c4153d26
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
ap...@google.com <ap...@google.com> #10
Project: platform/frameworks/support
Branch: snap-temp-L53700000699921463
commit adb93346bcf4e8b019ec009e499e85536c223415
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
https://android-review.googlesource.com/1436919
Branch: snap-temp-L53700000699921463
commit adb93346bcf4e8b019ec009e499e85536c223415
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
ap...@google.com <ap...@google.com> #11
Project: platform/frameworks/support
Branch: snap-temp-L25200000699921867
commit 868747fcf7ed98039c7a75125a540b348e1b8e9f
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
https://android-review.googlesource.com/1436923
Branch: snap-temp-L25200000699921867
commit 868747fcf7ed98039c7a75125a540b348e1b8e9f
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
ap...@google.com <ap...@google.com> #12
Project: platform/frameworks/support
Branch: snap-temp-L07700000699933785
commit 57ed08fa1034139dbb2bbabd6d4b87299481bd4a
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
https://android-review.googlesource.com/1436928
Branch: snap-temp-L07700000699933785
commit 57ed08fa1034139dbb2bbabd6d4b87299481bd4a
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Sep 11 15:58:27 2020
Add nav default animator resources
Animators are recommeneded over Animations for doing effects in fragment
and Navigation. We need to make default animator resources for
Navigation.
Test: Tested in sample apps
Bug: 167430145
Change-Id: I904d78268d8b8574c799ae1b0f5887e518fdb5f6
(cherry picked from commit 1e9ed84322fddd9228df1f96bc8cb76748e0a4fe)
M navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/navigation-ui/src/main/res-public/values/public_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_exit_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_enter_anim.xml
A navigation/navigation-ui/src/main/res/animator/nav_default_pop_exit_anim.xml
Description
The current Navigation default effects are not only this one ) that do not happen when using
Animations
, but they are also inside of sets. This causes issues (likeAnimator
,Transition
, orAndroidx Transition
.Animator
was built as a follow up toAnimation
, specifically to handle its short comings. We should be usingAnimator
as our default effects instead ofAnimation
.Because these resources are part of the public API and we don't want to remove or change their directory, we will attempt to have them remain in the same
R.anim
res location, and just change their underlying implementation.