Status Update
Comments
ti...@gmail.com <ti...@gmail.com> #2
Branch: androidx-master-dev
commit c60f33e229e31ab328ef6b59dab63b264954831c
Author: Alexandre Elias <aelias@google.com>
Date: Fri Jul 10 16:23:09 2020
Semantics no-op cleanups
Partly in response to lmr's broad code review, I did a pass of
superficial API/implementation cleanup. The main changes are:
- I changed each Boolean SemanticsProperty where false is equivalent to
not being present to take "Unit" instead. This is conceptually
clearer: it avoids questions like "can I cancel out a semantics from a
merged child by setting it to false?" Because "property = Unit" looks
weird, I also changed the style of these to "property()".
- I moved the Semantics id generator closer to where it's used, in
SemanticsModifierCore. I made it internal and an AtomicInt.
(Note that integer ids are heavily used in the Android
AccessibilityNodeInfo APIs so I can't simply remove them entirely.)
- I deleted dead code. Some examples include SemanticsHintOverrides,
a public API not connected to anything, and SemanticsPropertyKey
merge() open method which is never called. (In both cases I have
a different plan in mind for accessibility.)
Fixes: 145951226
Fixes: 145955412
Test: existing tests
Relnote: "Single-value semantics properties now use a calling style.
For example, 'semantics { hidden = true }' is now written as:
'semantics { hidden() }'."
Change-Id: Ic1afd12ea22c926babc9662f1804d80b33aa0cfc
M ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/LayoutNodeModifierBenchmark.kt
M ui/ui-core/api/0.1.0-dev15.txt
M ui/ui-core/api/current.txt
M ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-core/api/public_plus_experimental_current.txt
M ui/ui-core/api/restricted_0.1.0-dev15.txt
M ui/ui-core/api/restricted_current.txt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidActuals.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidPopup.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Expect.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsConfiguration.kt
D ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsHintOverrides.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsModifier.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsNode.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsOwner.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsWrapper.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
M ui/ui-foundation/api/0.1.0-dev15.txt
M ui/ui-foundation/api/current.txt
M ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-foundation/api/public_plus_experimental_current.txt
M ui/ui-foundation/api/restricted_0.1.0-dev15.txt
M ui/ui-foundation/api/restricted_current.txt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Dialog.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/semantics/FoundationSemanticsProperties.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CardTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ScaffoldTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ripple/RippleIndicationTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
M ui/ui-material/src/main/java/androidx/ui/material/AppBar.kt
M ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/CallSemanticsActionTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ScrollToTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
M ui/ui-test/src/main/java/androidx/ui/test/Actions.kt
M ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
M ui/ui-text/api/0.1.0-dev15.txt
M ui/ui-text/api/current.txt
M ui/ui-text/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-text/api/public_plus_experimental_current.txt
M ui/ui-text/api/restricted_0.1.0-dev15.txt
M ui/ui-text/api/restricted_current.txt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/CoreTextField.kt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/TextSemanticsProperties.kt
il...@google.com <il...@google.com> #3
The Compose Animation APIs Navigation needs (such as AnimatedContent
) are still @Experimental
in Compose 1.1.0.
ti...@gmail.com <ti...@gmail.com> #4
ru...@gmail.com <ru...@gmail.com> #5
k8...@gmail.com <k8...@gmail.com> #6
il...@google.com <il...@google.com> #7
AnimatedContent
is, as of today, still experimental and still cannot be used in androidx.navigation
.
As soon as it is stable, we can kick off this work.
jb...@google.com <jb...@google.com>
ap...@google.com <ap...@google.com> #8
Branch: androidx-main
commit a3386225c952c42b7c687771ea31642d76f4df66
Author: Clara Fok <clarafok@google.com>
Date: Wed May 10 11:26:59 2023
Add Preview support in animated NavHost
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Change-Id: I7b017913d96e31785f16eb66534321d05f29b53d
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 256f919c6b8d579bc55e19d829aed438422f463b
Author: Clara Fok <clarafok@google.com>
Date: Wed May 10 10:48:32 2023
Migrate accompanist NavHost and NavController into androidx
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Relnote: "NavHost and NavController now supports navigating in compose with Animations."
Change-Id: Ica95e794ef1794df4d1bdb38719b55624f832868
M navigation/navigation-compose/api/current.txt
M navigation/navigation-compose/api/public_plus_experimental_current.txt
M navigation/navigation-compose/api/restricted_current.txt
M navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostControllerTest.kt
M navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavGraphBuilder.kt
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
ap...@google.com <ap...@google.com> #10
Branch: androidx-main
commit 682bae8ada2b2b29376003d55455230ff7320a69
Author: Clara Fok <clarafok@google.com>
Date: Tue May 09 15:13:14 2023
Migrate accompanist NavGraphBuilder into androidx
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Relnote: "NavGraphBuilder now supports building composables and NavGraphs with transition animations."
Change-Id: I5ca9e22c8c3b02acaf80ddaa35b58ba7426c993a
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavGraphBuilder.kt
ap...@google.com <ap...@google.com> #11
Branch: androidx-main
commit 895c4bb35ee11fe1c54f538699a845ddfaf7e2eb
Author: Clara Fok <clarafok@google.com>
Date: Tue May 09 13:14:10 2023
Migrate accompanist ComposeNavigator into androidx
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Relnote: "ComposeNavigator now supports Destinations with Animations."
Change-Id: Ie33b4c2da53ff6c89494332a06be8123be67e879
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
ap...@google.com <ap...@google.com> #12
Branch: androidx-main
commit 169254301b8aad0454c253a65abff7bf174ba164
Author: Clara Fok <clarafok@google.com>
Date: Tue May 09 11:11:42 2023
Bump compose version in navigation-compose
Bump from 1.0.1 to ToT project dependency. Project dependency because compose is currently in alpha.
Test: n/a
Bug: 197140101
Relnote: "navigation-compose has bumped compose dependency to use latest compose dependency"
Change-Id: Ide442548636637c2b75d46ef99c9913b0ebb60b8
M navigation/navigation-compose/build.gradle
il...@google.com <il...@google.com> #13
Now that AnimatedContent
is stable, we were able to move the code from
This means all of the support for setting custom transitions that existed in AnimatedNavHost
is directly supported in NavHost
.
This is available in
We'll be publishing a deprecation guide once Navigation 2.7.0-alpha01 is released, but it'll be essentially the inverse of the 0.31.2-alpha
).
Description
As of compose Compose Animation APIs are still
1.0.1
many of the@Experimental
.Because of AndroidX internal restrictions, modules cannot depend on experimental APIs from other modules.
In the interest of providing a solution for Navigation with custom Compose Animations as soon as possible, we opted to provide a new module in Accompanist Navigation . Once all the required animation APIs become stable, which is planned as part of Compose
1.1.0
, we will move the implementation back into theJetpack Navigation library
fromAccompanist Navigation Animation
.For more details, see the Animations in Navigation Compose blog post.