Commit Graph

108 Commits

Author SHA1 Message Date
65f2bd811b refactor: Update MediaTrackPreferences handling for improved null safety and initialization 2026-04-22 19:39:24 +02:00
899e2f08b0 refactor: Added MediaSegments to MediaContext to make it accesible during playback. Also refactored MediaTrackPreferences to load preference in the PlayerViewModel 2026-04-22 19:34:11 +02:00
a2931b78f9 refactor: simplify AppContentRepository initialization logic. 2026-04-21 21:34:22 +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
a0086c6f62 refactor: rename imageUrl to primaryImageUrl for consistency across components 2026-04-19 20:08:41 +02:00
76eebc1139 refactor: remove overcomplicated TvHomeHeroState 2026-04-19 19:49:12 +02:00
632dda52d6 Refactor media models to use MediaUiModel for improved consistency and type safety 2026-04-18 21:35:56 +02:00
5a377fc428 Add keys to lazy Compose entries 2026-04-17 18:02:22 +02:00
9591b72273 Extract shared Compose UI into core module 2026-04-15 21:21:10 +02:00
ad930e899f feat: introduce core data models and interfaces for playback and downloads 2026-04-15 20:02:50 +02:00
b67c8076f1 refactor: update package structure and imports for consistency across UI components 2026-04-14 22:03:36 +02:00
3509a09064 Separate mobile downloads from TV playback 2026-04-13 16:31:57 +02:00
a0af187e8f feat: implement quick play/pause toggle for TV player
Adds the ability to play and pause media using the Center or Enter keys
without displaying the full player controls. When pausing via this
method, a brief visual "Pause" feedback overlay is shown in the center
of the screen.

- Added `TvPlayerHiddenStopFeedback` component and related logic
- Updated `handleTvPlayerRootKeyEvent` to support background playback toggling
- Added `pausePlayback` and `resumePlayback` to `PlayerViewModel` and `PlayerManager`
- Included comprehensive UI tests for the new hidden control behavior
2026-04-12 19:02:45 +02:00
7c30e12af7 Fix TV player track selector focus 2026-04-09 19:59:01 +02:00
512f7bbb5b feat: Enable ASS direct play in TV device profile 2026-04-09 18:54:56 +02:00
58980f4ac7 feat: Update episode retrieval counts in API client and media repository 2026-04-09 18:45:21 +02:00
d007c80af7 Refine TV player inline playlist flow
Move the TV player queue into a simplified bottom inline playlist row and keep the existing seek bar -> controls -> playlist navigation hierarchy.

Focus playlist entry on the current queue item, keep focus pinned on the row at the horizontal edges, and return to the controls row on Up/Back.

Add compose coverage for playlist expansion, current-item focus, fallback focus, and row edge navigation.
2026-04-09 18:22:21 +02:00
d253a6c8d0 feat: Add HLS support to ExoPlayer implementation 2026-04-09 14:03:53 +02:00
b41a9c24a2 feat: Implement auto-hide delay for TV player controls 2026-04-08 20:19:04 +02:00
98c936aea6 feat: Allow repeated seeking in the tv ui 2026-04-08 20:02:27 +02:00
cf08db5034 Split mobile and TV playback profiles 2026-04-08 19:46:37 +02:00
1a17c52326 refactor: Throw out overcomplicated shit code for Playback 2026-04-08 18:03:23 +02:00
674e0881d7 code cleanup 2026-04-07 21:28:08 +02:00
bc41116118 fix: adjust buffer durations and prioritize time over size in video player module 2026-04-07 19:25:03 +02:00
69ae10c761 Stabilize HLS playback timestamps 2026-04-07 17:18:42 +02:00
4b0e02e017 Fix TV audio sink capability handling 2026-04-07 16:52:44 +02:00
356816ba0e feat: add HLS support by including media3-exoplayer-hls dependency 2026-04-07 16:25:54 +02:00
cca75d8a5a feat: add PendingSeekTracker to manage seek requests and improve playback accuracy 2026-04-07 15:35:14 +02:00
59c9e31ca5 feat: implement playback source planning and enhance device profile transcoding support 2026-04-07 15:18:39 +02:00
9e8772467c Improve player error reporting 2026-04-06 20:20:44 +02:00
680df51ce7 refactor: update image handling in Episode dto to use imageUrlPrefix and JellyfinImageHelper 2026-04-01 22:49:37 +02:00
98850087ff refactor: update image handling in Series dto to use imageUrlPrefix and JellyfinImageHelper 2026-04-01 22:38:58 +02:00
ce5266f17c refactor: update image handling in Movie dto to use imageUrlPrefix and JellyfinImageHelper 2026-04-01 22:30:32 +02:00
d6d05be93f Add image URL prefix and completion helpers to JellyfinImageHelper 2026-04-01 22:17:09 +02:00
f107085385 feat: add media suggestions to home screen
Introduce a new Suggestions section on the home screen that fetches and
displays recommended content from the Jellyfin API. This replaces the
previous manual featured items logic with a more robust suggestion
system supporting movies, series, and episodes.

Key changes:
- Implement `getSuggestions` in `JellyfinApiClient` to fetch video content.
- Update `AppContentRepository` and its implementation to manage
  suggestions, including caching and background refreshing.
- Add `SuggestedItem` models and update `AppViewModel` to expose
  suggestions as a state flow.
- Replace `HomeFeaturedSection` with `SuggestionsSection` using a
  horizontal pager.
- Implement auto-scrolling logic in `HomeContent` to ensure suggestions
  are visible upon initial load if the user hasn't already interacted.
2026-03-31 15:51:07 +02:00
51fc17cb92 feat: redesign home screen with discovery-focused UI
Overhauls the home screen to provide a modern, media-focused discovery
experience. Key changes include:

- Introduced a featured content carousel at the top, highlighting
  continue watching items, next up episodes, and library additions.
- Implemented a search overlay with a real-time search bar and grid
  results for movies and series.
- Redesigned the top bar with a large collapsible title and subtitle
  that dynamically reflects content status.
- Updated sections for "Continue Watching", "Next Up", and libraries
  with high-fidelity cards, progress indicators, and better typography.
- Added a dedicated empty state with quick actions for refreshing or
  browsing libraries.
- Improved navigation by adding library-specific click actions and
  search-to-detail transitions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 20:33:15 +02:00
4b92af26ba Implement Jellyfin playback decision flow 2026-03-29 16:38:44 +02:00
0d7a3d99dd Removed online/offline toggle button from tv ui and also from the references 2026-03-28 11:38:22 +01:00
9eccf859bc Added logic for Searching through available medias and basic ui 2026-03-26 22:22:56 +01:00
f85624b159 Fix interactive episode navigation buttons 2026-03-24 21:34:38 +01:00
Balogh Barnabás
2e8c864522 Fix playback progress updates on exit 2026-03-24 20:54:07 +01:00
92342f1f35 Add offline playback and network fallbacks 2026-03-20 16:55:37 +01:00
43a15c4662 fix: Cannot play the same content. The previous session got stuck 2026-03-20 16:55:37 +01:00
3941c67d8b feat: add smart download feature for series
Automatically manages downloaded episodes per series — keeps 5 unwatched
episodes downloaded, removing watched ones and fetching new ones on
HomeScreen open or pull-to-refresh. A single download button on the
Series screen opens a dialog to choose between downloading all episodes
or enabling smart download.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 16:55:37 +01:00
5ca127434d feat: add pull-to-refresh gesture to HomeScreen
Wrap HomeContent with PullToRefreshBox to allow refreshing library,
continue watching, and next up sections by pulling down. Also fix
refreshHomeData to suspend until loading completes so the refresh
indicator dismisses properly.
2026-03-20 16:55:37 +01:00
e4b99354f6 feat: Back gesture should hide controls in tv module 2026-02-27 17:42:05 +01:00
fe699d7f99 refactor: Fix repository switch between offline and online. Now it switches seamlessly 2026-02-22 18:41:46 +01:00
8c7ddab9c2 feat: Implement Episode download functionality 2026-02-22 15:41:42 +01:00