From 6b36b10ea21c7407c925c3b19ef9f435beeb70fd Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 1 Mar 2024 11:02:39 +0100 Subject: [PATCH] Updated on 2026-08-14 --- .../java/com/tangem/feature/swap/ui/AutosizeTextField.kt | 6 +++--- .../java/com/tangem/feature/swap/ui/TransactionCard.kt | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/AutosizeTextField.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/AutosizeTextField.kt index c9c56536e8..0033a1971b 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/AutosizeTextField.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/AutosizeTextField.kt @@ -10,7 +10,6 @@ import androidx.compose.foundation.text.selection.TextSelectionColors import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester @@ -31,12 +30,13 @@ import com.tangem.core.ui.res.TangemTheme @Composable internal fun AutoSizeTextField( textFieldValue: TextFieldValue, + focusRequester: FocusRequester, onAmountChange: (String) -> Unit, onFocusChange: (Boolean) -> Unit, modifier: Modifier = Modifier, ) { val focusManager = LocalFocusManager.current - val textFieldFocusRequester = remember { FocusRequester() } + BoxWithConstraints(modifier = modifier.fillMaxWidth()) { var shrunkFontSize = TangemTheme.typography.h2.fontSize val calculateIntrinsics = @Composable { @@ -71,7 +71,7 @@ internal fun AutoSizeTextField( singleLine = true, modifier = Modifier .fillMaxWidth() - .focusRequester(textFieldFocusRequester) + .focusRequester(focusRequester) .onFocusChanged { onFocusChange(it.hasFocus) }, keyboardOptions = KeyboardOptions( imeAction = ImeAction.Done, diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt index 9e7a5f8b2d..d9a604c6d4 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt @@ -19,6 +19,7 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalContext @@ -262,12 +263,19 @@ private fun Content( } } is TransactionCardType.Inputtable -> { + val focusRequester = remember { FocusRequester() } + AutoSizeTextField( modifier = sumTextModifier, + focusRequester = focusRequester, textFieldValue = textFieldValue ?: TextFieldValue(), onAmountChange = { type.onAmountChanged(it) }, onFocusChange = type.onFocusChanged, ) + + LaunchedEffect(Unit) { + focusRequester.requestFocus() + } } }