Merge "Short term solution for the in-animation-dismissal-freeze bug." into main
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/common/ui/BottomSheet.kt b/packages/CredentialManager/src/com/android/credentialmanager/common/ui/BottomSheet.kt
index a5998faa..db69b8b 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/common/ui/BottomSheet.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/common/ui/BottomSheet.kt
@@ -60,14 +60,15 @@
sheetContent = sheetContent,
sheetShape = EntryShape.TopRoundedCorner,
) {}
- LaunchedEffect(state.currentValue) {
+ LaunchedEffect(state.currentValue, state.targetValue) {
if (state.currentValue == ModalBottomSheetValue.Hidden) {
if (isInitialRender) {
onInitialRenderComplete()
scope.launch { state.show() }
- } else {
+ } else if (state.targetValue == ModalBottomSheetValue.Hidden) {
+ // Only dismiss ui when the motion is downwards
onDismiss()
}
}
}
-}
\ No newline at end of file
+}