Skip to content

Fix D-pad focus in settings preference tiles#411

Merged
RadicalMuffinMan merged 1 commit into
Moonfin-Client:mainfrom
mattsigal:bugfix/tv-settings-toggle
Jun 7, 2026
Merged

Fix D-pad focus in settings preference tiles#411
RadicalMuffinMan merged 1 commit into
Moonfin-Client:mainfrom
mattsigal:bugfix/tv-settings-toggle

Conversation

@mattsigal

Copy link
Copy Markdown
Contributor

Pull Request

Summary

Fixes a bug where preference settings tiles (e.g., Media Bar, Navigation Style, Home Row Style, etc.) are not togglable or interactable via D-pad/TV remote navigation.

Related Issues

Link related issues or tickets separated by commas.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • UI/UX update
  • Documentation update
  • Build/CI change
  • Other (describe):

Changes Made

  • Set canRequestFocus to false and skipTraversal to true on the outer Focus node within TvFocusHighlight.
  • This ensures D-pad navigation targets and focuses the inner ListTile or SwitchListTile directly, allowing standard Enter/Select key events to trigger their onTap/onChanged handlers, while preserving parent-bubbled focus highlight updates.

Platform

  • Android
  • iOS
  • macOS
  • Windows
  • Linux
  • All / Shared code

Testing

  • Tested on emulator / simulator
  • Tested on physical device
  • Manual testing completed
  • Not tested (explain why):

Test Steps

  1. Navigate to settings on Android TV or Nvidia Shield using D-pad.
  2. Verify that focusing preference settings (such as Navigation Style or Home Row Style) and pressing Select/Enter toggles/opens their config dialogs.

Checklist

  • Code builds successfully
  • Code follows project style and conventions
  • No unnecessary commented-out code
  • No new warnings introduced

Set canRequestFocus to false and skipTraversal to true in TvFocusHighlight.
This ensures that D-pad navigation targets focusable descendants (such
as ListTile and SwitchListTile) directly, allowing Enter/Select key events
to trigger standard onTap and onChanged callbacks and restoring preference
toggling capabilities on Android TV / NVidia Shield.
@RadicalMuffinMan RadicalMuffinMan merged commit 1814dd7 into Moonfin-Client:main Jun 7, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants