Fixed
Status Update
Comments
il...@google.com <il...@google.com>
jb...@google.com <jb...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit f57b5cbd142016a2d95fd7bf736262049b085aeb
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon Nov 09 13:23:07 2020
Move FloatingWindow interface to Kotlin
Converted the FloatingWindow inferface to koltin and added the kotlin
std library dependency to navigation-common.
Test: ./gradlew checkApi
Bug: 172823546
Change-Id: I98af40e5c9bc747d792180990f1654d6353aa4b5
M navigation/navigation-common/build.gradle
M navigation/navigation-common/src/main/java/androidx/navigation/FloatingWindow.kt
https://android-review.googlesource.com/1492738
Branch: androidx-master-dev
commit f57b5cbd142016a2d95fd7bf736262049b085aeb
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon Nov 09 13:23:07 2020
Move FloatingWindow interface to Kotlin
Converted the FloatingWindow inferface to koltin and added the kotlin
std library dependency to navigation-common.
Test: ./gradlew checkApi
Bug: 172823546
Change-Id: I98af40e5c9bc747d792180990f1654d6353aa4b5
M navigation/navigation-common/build.gradle
M navigation/navigation-common/src/main/java/androidx/navigation/FloatingWindow.kt
jb...@google.com <jb...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit b637fdfd6b937d19d4e419c4bfba9b437af6378c
Author: Ian Lake <ilake@google.com>
Date: Thu Apr 01 16:13:27 2021
Merge Navigation Compose version back into Navigation
Rather than run Navigation Compose as a separate,
parallel project from the other Navigation artifacts,
merge the versions together so that we can better
integrate the artifacts together and leverage new
alpha features.
Test: ./gradlew bOS, ran Studio in FLAN and COMPOSE configs
BUG: 172823546
Change-Id: I139a44d95c91dc3cf2e951225aabbc2581914e95
M buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
M navigation/navigation-compose/build.gradle
M navigation/navigation-compose/samples/build.gradle
M navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
M navigation/navigation-runtime/build.gradle
M settings.gradle
M testutils/testutils-navigation/build.gradle
https://android-review.googlesource.com/1662999
Branch: androidx-main
commit b637fdfd6b937d19d4e419c4bfba9b437af6378c
Author: Ian Lake <ilake@google.com>
Date: Thu Apr 01 16:13:27 2021
Merge Navigation Compose version back into Navigation
Rather than run Navigation Compose as a separate,
parallel project from the other Navigation artifacts,
merge the versions together so that we can better
integrate the artifacts together and leverage new
alpha features.
Test: ./gradlew bOS, ran Studio in FLAN and COMPOSE configs
BUG: 172823546
Change-Id: I139a44d95c91dc3cf2e951225aabbc2581914e95
M buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
M navigation/navigation-compose/build.gradle
M navigation/navigation-compose/samples/build.gradle
M navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
M navigation/navigation-runtime/build.gradle
M settings.gradle
M testutils/testutils-navigation/build.gradle
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 51769b7a8d6d3e2032e45b3ec1e3cfe29e718ab6
Author: Jeremy Woods <jbwoods@google.com>
Date: Wed Mar 31 10:59:25 2021
Add routes to NavDestination
This change introduces the concept of a route to NavDestination. A route
is String that defines the path to the Destination. Setting the route on
a NavDestination will replace the any id that was set previously and
adds a deep link to the destination. You can set a route on the
NavDestination programatically, or through xml.
RelNote: "You can now add a route to your NavDestination"
Test: NavDestinationTest
Bug: 172823546
Change-Id: I77daf563f480ae54b9728a78e7696ea96d19f264
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_current.txt
M navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt
M navigation/navigation-common/src/main/res-public/values/public_attrs.xml
M navigation/navigation-common/src/main/res/values/attrs.xml
https://android-review.googlesource.com/1660682
Branch: androidx-main
commit 51769b7a8d6d3e2032e45b3ec1e3cfe29e718ab6
Author: Jeremy Woods <jbwoods@google.com>
Date: Wed Mar 31 10:59:25 2021
Add routes to NavDestination
This change introduces the concept of a route to NavDestination. A route
is String that defines the path to the Destination. Setting the route on
a NavDestination will replace the any id that was set previously and
adds a deep link to the destination. You can set a route on the
NavDestination programatically, or through xml.
RelNote: "You can now add a route to your NavDestination"
Test: NavDestinationTest
Bug: 172823546
Change-Id: I77daf563f480ae54b9728a78e7696ea96d19f264
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_current.txt
M navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt
M navigation/navigation-common/src/main/res-public/values/public_attrs.xml
M navigation/navigation-common/src/main/res/values/attrs.xml
il...@google.com <il...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit df16e2452d8333af236a9e5203b396b98f1056be
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon Apr 05 17:19:54 2021
Add routes to NavDestination Kotlin DSL
You can now add a route to your NavDestination when using the Kotlin
DSL.
RelNote: "You can now add a route to your NavDestination via the Kotlin
DSL"
Test: NavDestinationBuilderTest
Bug: 172823546
Change-Id: I1276418c8ca0b22eb420c0be6b97f0a5d41de0f9
M navigation/navigation-common/api/api_lint.ignore
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_current.txt
M navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt
https://android-review.googlesource.com/1660683
Branch: androidx-main
commit df16e2452d8333af236a9e5203b396b98f1056be
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon Apr 05 17:19:54 2021
Add routes to NavDestination Kotlin DSL
You can now add a route to your NavDestination when using the Kotlin
DSL.
RelNote: "You can now add a route to your NavDestination via the Kotlin
DSL"
Test: NavDestinationBuilderTest
Bug: 172823546
Change-Id: I1276418c8ca0b22eb420c0be6b97f0a5d41de0f9
M navigation/navigation-common/api/api_lint.ignore
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_current.txt
M navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt
Description
When using the new state manager released in fragment 1.3.0-alpha08, if you manually (without using the hide/show fragment transactions) set the visibility state of your view after the SpecialEffectsController has started any animations/transitions on your view, the visibility changes are ignored.
The reason this happens is because the new state manager saves the visibility state of the view in
onViewCreated()
as the final state and then restores that visibility state once the special effect completes afteronStart()
. This means that any changes made by the user to the view visibility state betweenonViewCreate()
andonStart()
are completely ignored.This becomes apparent in two particular cases:
There is a fragment that is always added, but has its visibility state updated based on some internal data (i.e. an error screen that is set to
View.INVISIBLE
when there is no error andView.VISIBLE
when there is one). If the view state changes toINVISIBLE
inonStart()
, the fragment should not be shown once the add transaction completes.A entering fragment is postponed and while it is postponed, its view visibility state is set to
View.INVISIBLE
. Even once the fragment is no longer postponed, its view should still beINVISIBLE
until the user changes it again manually.The new state manager should defer view visibility state control to the user no matter when the state is changed. Doing so would ensure that the user always has the source of truth for their Fragment's view visibility.