Merge pull request #7455 from hayaksi1/fix/4582-autoscroll-focused-field

Keep the focused login field visible above the keyboard
This commit is contained in:
Benoit Marty
2026-08-18 10:03:22 +02:00
committed by GitHub
2 changed files with 5 additions and 0 deletions
@@ -56,6 +56,7 @@ import io.element.android.libraries.designsystem.components.BigIcon
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
import io.element.android.libraries.designsystem.components.form.textFieldState
import io.element.android.libraries.designsystem.modifiers.bringIntoViewOnImeVisible
import io.element.android.libraries.designsystem.modifiers.onTabOrEnterKeyFocusNext
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@@ -191,6 +192,7 @@ private fun LoginForm(
enabled = !isLoading,
modifier = Modifier
.fillMaxWidth()
.bringIntoViewOnImeVisible()
.onTabOrEnterKeyFocusNext(focusManager)
.testTag(TestTags.loginEmailUsername)
.semantics {
@@ -243,6 +245,7 @@ private fun LoginForm(
enabled = !isLoading,
modifier = Modifier
.fillMaxWidth()
.bringIntoViewOnImeVisible()
.onTabOrEnterKeyFocusNext(focusManager)
.testTag(TestTags.loginPassword)
.semantics {
@@ -52,6 +52,7 @@ import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubti
import io.element.android.libraries.designsystem.components.BigIcon
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.components.form.textFieldState
import io.element.android.libraries.designsystem.modifiers.bringIntoViewOnImeVisible
import io.element.android.libraries.designsystem.modifiers.onTabOrEnterKeyFocusNext
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@@ -110,6 +111,7 @@ fun SearchAccountProviderView(
modifier = Modifier
.fillMaxWidth()
.padding(start = 16.dp, end = 16.dp, bottom = 16.dp)
.bringIntoViewOnImeVisible()
.onTabOrEnterKeyFocusNext(focusManager)
.testTag(TestTags.changeServerServer),
onValueChange = {