Status Update
Comments
yu...@schimke.ee <yu...@schimke.ee> #2
```
SwipeToDismissBox(
state = swipeToDismissBoxState,
onDismissed = { finish() },
hasBackground = false
) { isBackground ->
```
Google Map inside SwipeToDismissBox - scrolling works, but no swipe to dismiss.
Branch
st...@google.com <st...@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.
st...@google.com <st...@google.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).
st...@google.com <st...@google.com>
ra...@google.com <ra...@google.com>
jo...@gmail.com <jo...@gmail.com> #5
ap...@google.com <ap...@google.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
ra...@google.com <ra...@google.com>
jo...@gmail.com <jo...@gmail.com> #7
na...@google.com <na...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.wear.compose:compose-navigation:1.3.0-alpha02
Description
Version used: 1.0.0-Alpha21
Devices/Android versions reproduced on: emulator
Google Map at top level - works well, scrolling around map is fine.
Google Map inside SwipeToDismissBox - scrolling disabled, swipe to dismiss from any point in the map.
Google Map inside SwipeDismissableNavHost - same scrolling issue.