Skip to content

Commit a9cfd94

Browse files
author
code3-dev
committed
Fix Android TV input handling: Enable proper scrolling in Settings screen and keyboard opening in Search screen for mouse/touchpad/remote control usage
1 parent 4473564 commit a9cfd94

File tree

2 files changed

+11
-27
lines changed

2 files changed

+11
-27
lines changed

app/src/main/java/com/pira/ccloud/screens/SearchScreen.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ fun SearchScreen(
8686
val focusManager = LocalFocusManager.current
8787
val focusRequester = remember { FocusRequester() }
8888

89+
// Request focus when the screen is first displayed to ensure keyboard opens on TV
90+
LaunchedEffect(Unit) {
91+
focusRequester.requestFocus()
92+
}
93+
8994
Column(
9095
modifier = Modifier
9196
.fillMaxSize()
@@ -97,7 +102,11 @@ fun SearchScreen(
97102
onValueChange = { viewModel.updateSearchQuery(it) },
98103
modifier = Modifier
99104
.fillMaxWidth()
100-
.focusRequester(focusRequester),
105+
.focusRequester(focusRequester)
106+
.clickable {
107+
// Ensure keyboard opens when clicking on the TextField on TV
108+
focusRequester.requestFocus()
109+
},
101110
placeholder = {
102111
Text(
103112
text = "Search movies and series...",

app/src/main/java/com/pira/ccloud/screens/SettingsScreen.kt

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -243,32 +243,7 @@ fun SettingsScreen(
243243
.fillMaxSize()
244244
.padding(16.dp)
245245
.focusRequester(focusRequester)
246-
.focusable()
247-
.onKeyEvent { keyEvent ->
248-
when (keyEvent.key) {
249-
Key.DirectionDown -> {
250-
// Handle down navigation if needed
251-
false // Let default handling occur
252-
}
253-
Key.DirectionUp -> {
254-
// Handle up navigation if needed
255-
false // Let default handling occur
256-
}
257-
Key.DirectionLeft -> {
258-
// Handle left navigation if needed
259-
false // Let default handling occur
260-
}
261-
Key.DirectionRight -> {
262-
// Handle right navigation if needed
263-
false // Let default handling occur
264-
}
265-
Key.Enter, Key.Spacebar -> {
266-
// Handle select/enter key if needed
267-
false // Let default handling occur
268-
}
269-
else -> false // Let default handling occur
270-
}
271-
}
246+
.focusable(),
272247
) {
273248
item {
274249
AnimatedVisibility(

0 commit comments

Comments
 (0)