Skip to content

feat(home): Netflix-style TV Home - #808

Merged
ProdigyV21 merged 3 commits into
ProdigyV21:mainfrom
silentbil:feature/netflix-home
Oct 16, 2026
Merged

ProdigyV21 merged 3 commits into
ProdigyV21:mainfrom
silentbil:feature/netflix-home

Conversation

@silentbil

@silentbil silentbil commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

A Netflix-style layout for the TV Home screen. It is on by default and can be switched per profile in Settings → Appearance → Netflix-Style Home (synced to the cloud like the other Home settings). Turning it off restores the classic Home exactly as before. Mobile is unchanged.

Billboard

  • A large featured title above the rows (about 70% of the screen), picked at random from today's Top 10 movies / series. If those rows are hidden it falls back to any other Top 10 row, then to Trending.
  • Logo, metadata line, overview, and Play / More Info buttons.
  • The title's trailer plays while the billboard is focused, and stops when focus moves to the top bar or the rows.
  • D-pad: Down goes to the rows; Up from the first row (or Back from any row) returns to the billboard; Up from the billboard goes to the top bar.

Rows

  • In the focused row, the focused card expands to a wide 16:9 card that plays its trailer; the other cards in that row become posters of the same height.
  • The title's metadata and overview show below the expanded card. They span the card and the next poster, so less text is cut off.
  • Rows that are not focused keep the regular card size. Top 10 rank ribbons are kept.

Favorite TV

  • The focused channel expands the same way and plays its live preview inside the card, with a LIVE badge and the programme on air below it.
  • All channel cards share one video surface that follows focus, so moving between channels keeps video and audio in step. The channel logo shows until the first frame arrives.
  • Service and sports rows keep the classic rail; service videos still preview behind the rows.

Fix: live streams no longer reach Continue Watching

Some addons list their live channels as movies, so a channel played from them was saved to Continue Watching and came back every time it was watched. The player now checks whether the stream itself is live: if so, it gets no progress, scrobbles or Continue Watching entry, whatever the addon calls it, and an entry saved for it earlier is removed.

Testing

  • New unit tests for billboard selection, saved billboard focus, and the setting's defaults and cloud round-trip. The full unit test suite passes (2401 tests).
  • Manually tested on an Android TV emulator (1080p, API 30): billboard and trailers, row expansion and descriptions, Favorite TV switching across several channels, the top-bar and Back navigation, and toggling the setting off.

Add a Netflix-style layout for the TV Home screen, on by default and
switchable per profile in Settings > Appearance (synced to the cloud).

- Billboard: a large featured title above the rows, picked at random
  from today's Top 10 movies/series (falling back to other Top 10 rows,
  then Trending). It shows the logo, metadata, overview and Play / More
  Info, and plays the title's trailer while focused.
- Rows: the focused card of the focused row expands to a wide card with
  its trailer; the other cards in that row become posters of the same
  height, and the title's metadata and overview show below the card.
- Favorite TV: the focused channel expands the same way and plays its
  live preview inside the card, on one shared video surface so moving
  between channels keeps video and audio in step.
- Service and sports rows keep the classic rail.
@github-actions github-actions Bot added the area: android Changes to the Android app or Gradle build label Oct 16, 2026
@silentbil
silentbil requested a review from ProdigyV21 October 16, 2026 08:56
Some addons list their live channels as movies, so a channel played from
them was saved to Continue Watching (its live window looks like a
duration) and came back every time it was watched.

The player now decides: once it reports the stream as live, the playback
gets no progress, scrobbles or Continue Watching entry, whatever the
addon calls the item, and an entry saved for it earlier is removed.
@ProdigyV21
ProdigyV21 merged commit 97fd1f5 into ProdigyV21:main Oct 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: android Changes to the Android app or Gradle build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants