From 329a17b6065f5f3d50ae95ace6aff647145b1191 Mon Sep 17 00:00:00 2001 From: jameswoo-stripe <99316447+jameswoo-stripe@users.noreply.github.com> Date: Fri, 26 Aug 2022 09:57:29 -0700 Subject: [PATCH] Clear keyboard when closing address element (#5469) --- .../paymentsheet/addresselement/InputAddressScreen.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/paymentsheet/src/main/java/com/stripe/android/paymentsheet/addresselement/InputAddressScreen.kt b/paymentsheet/src/main/java/com/stripe/android/paymentsheet/addresselement/InputAddressScreen.kt index 69483b675e6..3747d7942df 100644 --- a/paymentsheet/src/main/java/com/stripe/android/paymentsheet/addresselement/InputAddressScreen.kt +++ b/paymentsheet/src/main/java/com/stripe/android/paymentsheet/addresselement/InputAddressScreen.kt @@ -15,6 +15,7 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel @@ -34,6 +35,8 @@ internal fun InputAddressScreen( formContent: @Composable ColumnScope.() -> Unit, checkboxContent: @Composable ColumnScope.() -> Unit ) { + val focusManager = LocalFocusManager.current + ScrollableColumn( modifier = Modifier .fillMaxHeight() @@ -41,7 +44,10 @@ internal fun InputAddressScreen( ) { AddressOptionsAppBar( isRootScreen = true, - onButtonClick = { onCloseClick() } + onButtonClick = { + focusManager.clearFocus() + onCloseClick() + } ) Column( Modifier @@ -58,6 +64,7 @@ internal fun InputAddressScreen( isEnabled = primaryButtonEnabled, text = primaryButtonText ) { + focusManager.clearFocus() onPrimaryButtonClick() } }