From a78fce43b0d93fd590ef2972867ef1849b4a9692 Mon Sep 17 00:00:00 2001 From: David Perez Date: Mon, 22 Jan 2024 21:42:16 -0600 Subject: [PATCH] Add auto-focus to search toolbar (#725) --- .../ui/platform/components/BitwardenSearchTopAppBar.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenSearchTopAppBar.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenSearchTopAppBar.kt index b5a33fd147..20ab8ba4c5 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenSearchTopAppBar.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenSearchTopAppBar.kt @@ -12,7 +12,11 @@ import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -33,7 +37,9 @@ fun BitwardenSearchTopAppBar( scrollBehavior: TopAppBarScrollBehavior, navigationIcon: NavigationIcon?, modifier: Modifier = Modifier, + autoFocus: Boolean = true, ) { + val focusRequester = remember { FocusRequester() } TopAppBar( modifier = modifier, colors = TopAppBarDefaults.topAppBarColors( @@ -78,8 +84,12 @@ fun BitwardenSearchTopAppBar( } }, modifier = Modifier + .focusRequester(focusRequester) .fillMaxWidth(), ) }, ) + if (autoFocus) { + LaunchedEffect(Unit) { focusRequester.requestFocus() } + } }