-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
Summary
Ensemble's touch-first interaction model makes the app non-functional on Android TV. The framework needs D-pad focus navigation, key event handling, and TV-aware UI adjustments.
Blockers (App Non-Functional)
- TV remote select/center button dead — no
ShortcutsmappingLogicalKeyboardKey.select→ActivateIntent - No
autofocuson any widget — screens load with no focus, D-pad has no starting point - Zero key event handling — no
KeyboardListener,onKeyEvent, orLogicalKeyboardKeyusage - No focus-based scrolling — ListView/GridView won't scroll to keep focused item visible
-
GestureDetector-wrapped widgets unreachable — touch-only, cannot receive focus
Major Gaps (Broken Interactions)
- Carousel — touch swipe only, no D-pad left/right support
- Dropdown/TabBar — overlays and tabs not D-pad navigable
- No TV device detection — no
isTV()method, cannot adapt UI conditionally - No per-screen back button control — no
PopScopeusage - Missing TV banner icon — no
android:banneror 320x180 drawable
Experience Gaps (Unpolished)
- Focus visuals not configurable from YAML — only hardcoded blue border
- No focus order control for YAML authors
- No overscan safe area padding (48dp/27dp)
- No key repeat throttling on D-pad long-press
- No directional traversal policy for grid layouts
- No TV-specific text scaling (10-foot UI needs 18-32sp min)
Acceptance Criteria
- TV remote select button activates focused widgets
- First focusable widget per screen receives autofocus
- D-pad navigates all interactive widgets; scrollable lists follow focus
- Carousel navigable with D-pad; back button exits properly
- Visible focus indicators on all interactive elements
- 60fps on mid-range TV hardware (MiBox, Fire TV Stick)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels