Commit Graph

192 Commits

Author SHA1 Message Date
80f5454afb feat(settings): add app update settings action 2026-05-08 22:29:07 +02:00
0554f328c6 feat: trigger refresh on home navigation in TvAppScreen for improved data consistency 2026-05-08 20:20:07 +02:00
af2e8b0dc9 feat: enhance settings screen with dropdown and void setting options for improved user experience 2026-05-08 20:19:05 +02:00
e05041fd14 feat: add focus restoration to TabRow in TvSeriesComponents for improved accessibility 2026-05-08 19:46:46 +02:00
9313cded53 feat: enhance TvSeriesScreen to support focused season and episode loading 2026-05-08 19:44:49 +02:00
dddf6e4cfa feat: improve TvNavigationDrawer styling with color and font size adjustments 2026-05-07 20:24:44 +02:00
7a04c59023 feat: increment version codes for application updates 2026-05-07 20:21:57 +02:00
3384a6795b feat: enhance TvNavigationDrawer with focus handling and accessibility improvements 2026-05-07 20:21:44 +02:00
dc5c324962 feat: add UnwatchedEpisodeBadge and remove 'started' parameter from WatchStateBadge 2026-05-07 19:51:28 +02:00
322eb69ab5 refactor: update package structure to use core namespace 2026-05-06 17:24:04 +02:00
63a8a108e2 feat(settings): add TvSettingsScreen and integrate settings management 2026-05-03 17:37:48 +02:00
5d12b97922 chore(build): update versionCode to 2000003 for the upcoming release 2026-05-03 15:46:51 +02:00
fe0b76a0ad feat(tv-update): implement update check and dialog for available updates on android tv devices 2026-05-03 14:49:19 +02:00
53bc6246e4 feat(libraries): add size property to Library and related models for better content representation 2026-05-02 20:56:05 +02:00
f626c9533e refactor: update color definitions for dark theme consistency 2026-05-02 19:06:05 +02:00
65693a9220 fix(tv): update TvIconButton size and refactor layout for consistency 2026-05-02 11:13:15 +02:00
71a9a8b98e fix(tv): align home section spacing 2026-05-01 22:06:37 +02:00
f304b1f1f5 feat(tv): add seriesName and seasonIndex to Episode data model 2026-05-01 21:28:33 +02:00
e738e9637f fix(tv): open selected episode in series screen 2026-05-01 20:59:50 +02:00
d815812e79 refactor(tv): move skip button to the TvPlayerControlsOverlay panel 2026-05-01 19:59:01 +02:00
3b95185f98 fix(tv): streamline focus management and improve component structure in TV sections 2026-05-01 19:36:14 +02:00
72fea00444 feat: integrate Firebase Crashlytics and Google Services into the project 2026-05-01 17:35:29 +02:00
6341510cc2 refactor(tv): replace custom season tab implementation with TabRow for improved UI consistency 2026-05-01 13:06:01 +02:00
2ff6fe997e refactor(tv): improve focus management and clean up unused focus requesters 2026-05-01 12:54:44 +02:00
7401f986c6 fix(tv): focus segment skip button 2026-05-01 12:29:01 +02:00
3c16817442 fix(tv): focus next up episode in series details 2026-04-30 21:18:43 +02:00
c4eed9ece3 fix(tv): open episodes in SeriesScreen view 2026-04-30 20:08:32 +02:00
f444a5e09f fix(tv): align detail screen sizing 2026-04-29 23:37:23 +02:00
1fc291d2d8 refactor: Use default Column instead of LayyColumn 2026-04-29 22:51:56 +02:00
84a95b0af6 fix(tv): stabilize navigation drawer animation 2026-04-29 20:09:00 +02:00
22c414b5e2 Revert "refactor: remove unused name field from LibraryDto"
This reverts commit 8a1d5ccfab.
2026-04-29 18:09:13 +02:00
8a1d5ccfab refactor: remove unused name field from LibraryDto 2026-04-29 17:44:20 +02:00
bd5e43114b refactor: extract and rename LibraryUiModel 2026-04-29 17:35:52 +02:00
afdd9b860f feat: integrate dynamic library navigation in TV drawer
Refactors the TV navigation drawer to use specific library routes instead
of a static libraries overview. Added a `NavDisplay` with a backstack to
manage navigation between the Home screen and individual Library screens
directly from the drawer.

- Replace `TvDrawerDestination` enum with `Route` in the navigation drawer
- Dynamically populate drawer items based on available libraries
- Add `NavDisplay` to `TvAppScreen` for nested TV navigation
- Connect `TvLibraryScreen` to `AppViewModel` for media selection handling
- Remove back button from `TvLibraryScreen` in favor of drawer navigation
- Update `TvNavigationDrawerTest` to reflect routing changes
2026-04-26 18:08:40 +02:00
01de2ca19c feat: move subtitles when controls overlay are shown 2026-04-26 12:47:28 +02:00
522c8273d5 feat: add skip segment functionality to player 2026-04-26 12:21:52 +02:00
78a5f716c0 refactor: refine TV detail cast rows and player queue behavior
Temporarily hide cast rows on TV movie, episode, and series detail surfaces while preserving the surrounding section layout.

Simplify TV player queue rows by removing the secondary subtitle line so queued items scan more cleanly.

Increase the next-up queue fetch from 5 to 10 items and skip missing playlist episodes with an error log instead of throwing during queue mapping.
2026-04-25 18:43:14 +02:00
f7f9fc1058 refactor: centralize playable media state
Move playback-related media state into shared model types and make the player consume a single PlayableMedia object instead of separately loading MediaItems, track preferences, resume positions, and media segments.

This updates PlayableMediaRepository to return playable media bundles, seeds the player playlist with the current item, keeps next-up entries in the same model, restores resume/segment handling, and fixes current queue highlighting.

The change also moves track preference models into core-model, centralizes Jellyfin BaseItemDto conversion, removes placeholder movie audio/subtitle fields, bumps the offline Room schema, and updates mobile/TV queue UI code for the playlist model.

Verification:
./gradlew --no-daemon :core-model:compileDebugKotlin :core:compileDebugKotlin :data:compileDebugKotlin :app:compileDebugKotlin
2026-04-25 18:08:23 +02:00
2433ececac refactor: change dependency structure. core should not depend on data. Move repository interfaces to core. Move hilt bindings in the data model. 2026-04-24 19:02:26 +02:00
354314710b refactor: extract core-model into its own module 2026-04-24 18:11:28 +02:00
ab7700d202 refactor: rename ui-common module to core-ui module 2026-04-24 17:43:33 +02:00
7232352014 refactor: rename domain module to core module 2026-04-24 17:42:18 +02:00
57e2983527 refactor: move JellyfinAuthInterceptor and JellyfinNetworkModule to the domain module 2026-04-24 09:36:19 +02:00
a1239c907a refactor: reorganize package structure and remove unused files (remove old core parent package) in domain module 2026-04-24 09:31:30 +02:00
8423e63937 refactor: moved packages from data/core into /data in the data module 2026-04-24 08:37:45 +02:00
3f7c1966af Collapse shared modules into data domain and ui-common 2026-04-23 20:42:59 +02:00
a39581682f Refactor media selection logic to use a unified onMediaSelected callback
Consolidates specific media selection callbacks (`onMovieSelected`, `onSeriesSelected`, `onEpisodeSelected`) into a single `onMediaSelected` handler that accepts a `MediaUiModel`. This simplifies the interface between the ViewModel and UI components across both mobile and TV screens, moving the type-checking logic into `AppViewModel`.
2026-04-20 20:08:38 +02:00
9545e4d619 refactor: remove forced common PosterCardContent and inline them in the corresponding app ui module 2026-04-20 18:13:25 +02:00
920b0e0e4a Refactor TV home media cards smaller 2026-04-19 20:35:20 +02:00
2c5585417a refactor: add backdropImageUrl to MediaUiModel for improved image handling 2026-04-19 20:14:19 +02:00