From fda132b3572e05e6baad3104e1ec15a0a31e847c Mon Sep 17 00:00:00 2001 From: Hassan-Nisar-Ch Date: Mon, 6 Oct 2025 23:05:21 +0500 Subject: [PATCH 1/2] Fix invisible text cursor in FindBar on dark background --- .../src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt b/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt index b428d928..86475153 100644 --- a/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt +++ b/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt @@ -859,6 +859,7 @@ private fun PdfToolBarScope.FindBar(contentColor: Color, modifier: Modifier) { }), singleLine = true, textStyle = TextStyle(fontSize = 16.sp, color = contentColor), + cursorBrush = SolidColor(MaterialTheme.colorScheme.onBackground), modifier = Modifier .fillMaxWidth() .focusRequester(focusRequester) From aeda95fa64609be983256b28b0c841e5204a8b47 Mon Sep 17 00:00:00 2001 From: Hassan-Nisar-Ch Date: Mon, 26 Jan 2026 19:30:58 +0500 Subject: [PATCH 2/2] Auto-focus and show keyboard in GoToPage dialog --- .../bhuvaneshw/pdf/compose/ui/PdfToolBar.kt | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt b/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt index 86475153..516373e8 100644 --- a/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt +++ b/compose-ui/src/main/java/com/bhuvaneshw/pdf/compose/ui/PdfToolBar.kt @@ -978,14 +978,20 @@ private fun ZoomDialog(pdfState: PdfState, onDismiss: () -> Unit) { @Composable private fun GoToPageDialog(pdfState: PdfState, onDismiss: () -> Unit) { var pageNumber by remember { mutableStateOf("") } + val focusRequester = remember { FocusRequester() } + val keyboard = LocalSoftwareKeyboardController.current val select: () -> Unit = { pageNumber.toIntOrNull()?.let { pdfState.pdfViewer?.goToPage(it) } + keyboard?.hide() onDismiss() } AlertDialog( - onDismissRequest = onDismiss, + onDismissRequest = { + keyboard?.hide() + onDismiss() + }, title = { Text( text = "Go to page", @@ -994,7 +1000,12 @@ private fun GoToPageDialog(pdfState: PdfState, onDismiss: () -> Unit) { ) }, confirmButton = { TextButton(onClick = select) { Text("Go") } }, - dismissButton = { TextButton(onClick = onDismiss) { Text(text = "Cancel") } }, + dismissButton = { + TextButton(onClick = { + keyboard?.hide() + onDismiss() + }) { Text("Cancel") } + }, text = { BasicTextField( value = pageNumber, @@ -1012,7 +1023,8 @@ private fun GoToPageDialog(pdfState: PdfState, onDismiss: () -> Unit) { cursorBrush = SolidColor(MaterialTheme.colorScheme.onBackground), modifier = Modifier .fillMaxWidth() - .padding(horizontal = 6.dp), + .padding(horizontal = 6.dp) + .focusRequester(focusRequester), decorationBox = { textField -> Box(Modifier.fillMaxWidth()) { textField() @@ -1032,6 +1044,13 @@ private fun GoToPageDialog(pdfState: PdfState, onDismiss: () -> Unit) { ) } ) + + LaunchedEffect(focusRequester) { + // Add a small delay to ensure the text field is composed and ready for focus + delay(100) + focusRequester.requestFocus() + keyboard?.show() + } } @Composable