From b472c7524578f76bf87d343c51d363934c34ee52 Mon Sep 17 00:00:00 2001 From: mattsigal Date: Sun, 7 Jun 2026 10:53:18 -0700 Subject: [PATCH] Fix D-pad focus in settings preference tiles 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. --- lib/ui/widgets/settings/preference_tiles.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ui/widgets/settings/preference_tiles.dart b/lib/ui/widgets/settings/preference_tiles.dart index 55d715ce..a8b0ab35 100644 --- a/lib/ui/widgets/settings/preference_tiles.dart +++ b/lib/ui/widgets/settings/preference_tiles.dart @@ -838,8 +838,8 @@ class _TvFocusHighlightState extends State { Widget build(BuildContext context) { return Focus( focusNode: _focusNode, - canRequestFocus: widget.enabled, - skipTraversal: !widget.enabled, + canRequestFocus: false, + skipTraversal: true, descendantsAreFocusable: widget.enabled, onFocusChange: _onFocusChange, child: Padding(