Status Update
Comments
al...@google.com <al...@google.com> #2
```
SwipeToDismissBox(
state = swipeToDismissBoxState,
onDismissed = { finish() },
hasBackground = false
) { isBackground ->
```
Google Map inside SwipeToDismissBox - scrolling works, but no swipe to dismiss.
Branch
ys...@google.com <ys...@google.com> #3
Running the code from the map_swipe branch - I'm seeing that MapActivity and MapWithDismissActivity are scrolling the map ok, but the SwipeToDismiss is not working (so that's different to the behaviour reported above). But I do see the reported behaviour in App itself, that within SwipeDismissableNavHost, that SwipeToDismissBox is always handling horizontal swipes, so probably the map does not receive those gestures. Not clear yet why this is, because Modifier.edgeSwipeToDismiss is working for other horizontally scrollable components.
ca...@careem.com <ca...@careem.com> #4
Having looked into this in more detail, GoogleMap does not support nested scrolling, so it's not compatible with Modifier.edgeSwipeToDismiss. Instead, we've seen that adding an 'enabled' parameter to SwipeDismissableNavHost and setting enabled = !cameraPositionState.isMoving would allow panning horizontally and vertically in the map (and adding a button to dismiss the screen). NB caveat is that there's a bug where the initial swipe needs to be vertical to avoid the parent handling it - this affects other scroll types as well as the Wear SwipeToDismiss.
We will look at adding the enabled parameter to Wear Compose in the near future (after release of 1.0).
ca...@careem.com <ca...@careem.com> #5
ca...@careem.com <ca...@careem.com> #6
Branch: androidx-main
commit 9ca92a49e6529a24f9678b319074a9c7c532d74b
Author: Rajat Biswas <rajatbiswas@google.com>
Date: Tue Jul 04 11:16:50 2023
userSwipeEnabled param added to SwipeDismissableNavHost
Bug: 230865655
Test: androidx.wear.compose.navigation.SwipeDismissableNavHostTest
Relnote: "Added a param userSwipeEnabled to SwipeDismissableNavHost
which can disable swipe gesture if turned false."
Change-Id: Id2a0befd6895598967ccc6d617a7d4b52756b8c6
M wear/compose/compose-navigation/api/current.txt
M wear/compose/compose-navigation/api/restricted_current.txt
M wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt
M wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHost.kt
Description
Bumping constraintlayout-core to 1.1.0 from 1.0.4 I got runtime exceptions due to binary incompatibilities between the two versions.
In particular I see incompatibilities with the `androidx.constraintlayout.core.state.Dimension` class.
For example the core version bundled with constraintlayout 2.1.4 (core-1.0.4) had the method `public static Dimension Fixed(int value)` which now is not available anymore (renamed to `public static Dimension createFixed(int value)` ?)
Here is the commit that broke incompatibility for the case above:
Would it be possible to restore compatibility in the new core so we are able to update?