diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreen.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreen.kt index bfd13ad8c8..850d4434df 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreen.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreen.kt @@ -34,6 +34,12 @@ internal fun SwapScreen(stateHolder: SwapStateHolder) { }, ) + LaunchedEffect(bottomSheetState.targetValue) { + if (bottomSheetState.targetValue == ModalBottomSheetValue.Hidden) { + stateHolder.onCancelPermissionBottomSheet.invoke() + } + } + ModalBottomSheetLayout( modifier = Modifier.systemBarsPadding(), sheetContent = { diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt index 8708aab05d..4740549f50 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt @@ -471,9 +471,11 @@ internal class SwapViewModel @Inject constructor( onBackClicked = { onSearchEntered("") }, onMaxAmountSelected = { onMaxAmountClicked() }, openPermissionBottomSheet = { + singleTaskScheduler.cancelTask() analyticsEventHandler.send(SwapEvents.ButtonGivePermissionClicked) }, hidePermissionBottomSheet = { + startLoadingQuotesFromLastState() analyticsEventHandler.send(SwapEvents.ButtonPermissionCancelClicked) }, onAmountSelected = { onAmountSelected(it) },