Commit Graph

10 Commits

Author SHA1 Message Date
96a9419746 feat: enable code optimization and resource shrinking in release build 2026-02-27 19:34:08 +01:00
78f03096dd feat: make prerequisits for app publication 2026-02-27 18:52:14 +01:00
06272eb08a feat: Add D-pad seeking and auto-focus seek bar in TV player
D-pad left/right now seeks -10s/+10s both when controls are hidden
and when the seek bar is focused. Controls auto-focus the seek bar
when shown, removing the need to press OK first to interact.
2026-02-27 18:52:14 +01:00
71d2ef9534 feat: Show TV player controls on D-pad or OK button press 2026-02-27 18:12:28 +01:00
e4b99354f6 feat: Back gesture should hide controls in tv module 2026-02-27 17:42:05 +01:00
2b27ce946d feat: Add TV focus states and refactor content screens to LazyColumn
- Add animated focus feedback (scale, border, background) to all interactive
  TV UI components: PosterCard, GhostIconButton, MediaActionButton,
  MediaResumeButton, PurefinIconButton, TvHomeDrawer nav items,
  TvHomeSections cards, TvPlayerScreen track/queue panels
- Refactor EpisodeScreen, MovieScreen, and SeriesScreen from Scaffold +
  verticalScroll to LazyColumn layout with Box-overlaid top bar
- Switch MovieComponents and MovieScreen from MovieUiModel to core Movie model
- Conditionally render cast sections only when cast is non-empty
2026-02-27 17:24:05 +01:00
9ec09a0e94 feat: Allow offline mode in Purefin 2026-02-22 15:41:08 +01:00
6f34190ed0 feat: add player screen to TV app via compose navigation
- Add PlayerRoute to the Route sealed interface
- Refactor PlayerViewModel to expose loadMedia() for external callers
- Add onPlay() to EpisodeScreenViewModel and MovieScreenViewModel
- Wire play/resume buttons in TV episode and movie screens
- Create TvPlayerScreen with TV-optimized controls: seek bar, playback
  buttons, track selection panels, queue panel, and state cards
- Register PlayerRoute in TvRouteEntryBuilder and TvNavigationModule
- Add media3-ui dependency to app-tv module
2026-02-22 11:05:27 +01:00
f85ecc04c7 feat: add content screens to TV app (movies, series, episodes)
- Created MovieScreen, MovieComponents for movie detail view
- Created SeriesScreen, SeriesComponents for series detail with season selection
- Created EpisodeScreen, EpisodeComponents for episode detail view
- Copied all required common UI components from mobile app
- Updated TvNavigationModule with route entry builders
- Updated TvRouteEntryBuilder with new screen entries
- Added missing launcher resources for TV app build
- All screens reuse ViewModels from :feature:shared module
- TV app now supports browsing movies, series, and episodes
2026-02-22 11:05:27 +01:00
75f3313aa9 feat: add :app-tv module as Android TV starting point
Creates a new :app-tv application module that reuses shared business
logic from :core:model, :core:data, :core:player, and :feature:shared,
with its own TV-specific UI layer.

- TvApplication + TvActivity with full Hilt + Navigation3 wiring
- TvHomePage reusing HomePageViewModel from :feature:shared
- Copied common UI components (PosterCard, WaitingScreen, etc.)
- Copied login screen and form components
- TV navigation module with Home + Login route entry builders
- Material3 theme copied from mobile (ready for TV customization)
- AndroidManifest with LAUNCHER + LEANBACK_LAUNCHER intent filters
- Excludes :feature:download (downloads are mobile-only)
2026-02-22 11:05:27 +01:00