Updated calculation of progress in BasicSwipeToDismissBox

Bug: 313412989
Test: BasicSwipeToDismissBoxTest

Change-Id: I2d348f57b8d46dc71bed1acca013dfe042149e2e
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/BasicSwipeToDismissBox.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/BasicSwipeToDismissBox.kt
index 65d57d4..9bfc687 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/BasicSwipeToDismissBox.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/BasicSwipeToDismissBox.kt
@@ -143,7 +143,13 @@
         val contentScrimColor = LocalSwipeToDismissContentScrimColor.current
 
         val progress by remember(state) {
-            derivedStateOf { ((state.swipeableState.offset ?: 0f) / maxWidthPx).coerceIn(0f, 1f) }
+            derivedStateOf {
+                if (state.swipeableState.offset?.isNaN() == true || maxWidthPx == 0f) {
+                    0f
+                } else {
+                    ((state.swipeableState.offset ?: 0f) / maxWidthPx).coerceIn(0f, 1f)
+                }
+            }
         }
         val isSwiping by remember { derivedStateOf { progress > 0 } }
         var squeezeMode by remember {