Skip to content

Feature - Enhancements to the quick channel changer/chapter popup overlay#5447

Open
WizardOfYendor1 wants to merge 1 commit into
jellyfin:masterfrom
WizardOfYendor1:feature/channel-overlay-enhancements
Open

Feature - Enhancements to the quick channel changer/chapter popup overlay#5447
WizardOfYendor1 wants to merge 1 commit into
jellyfin:masterfrom
WizardOfYendor1:feature/channel-overlay-enhancements

Conversation

@WizardOfYendor1

@WizardOfYendor1 WizardOfYendor1 commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

Enhancements to the quick channel changer popup overlay and to chapter overlay for library content (movies etc) to a lesser degree.

  1. Left D-Pad focus boundary fix
    Pressing left on the first channel/chapter card no longer lets focus escape the overlay (though improbable to encounter with the circular scrolling). This is also addressed separately in PR that fixes this issue without these changes/circular scrolling: Fix left D-Pad focus "escape" on channel and chapter display overlay #5413

  2. Favorite heart icon on channel cards
    A red heart icon now appears in the top-left corner of any channel card where the user has marked the channel as a favorite.

  3. Add recording indicators in upper right of the channel cards.

  4. Circular (carousel) scrolling
    The channel list wraps around — scrolling past the last channel loops back to the first, and vice versa.
    Implemented via a new CircularObjectAdapter that reports a "virtual item" count (realSize × 1,000). This is probably much larger than needs to be but there's no harm that I can see (it's not "preloaded" etc - per se). The overlay pre-positions to the correct virtual index when opening.

  5. Program description above channel cards
    When the quick channel overlay is open, the currently-focused channel's program title and description (overview) appears in a reserved 2-line text area above the cards.
    The text updates with a 200ms debounce while scrolling to avoid distracting text "flicker".
    Required adding ItemFields.OVERVIEW to the getLiveTvChannels API call to actually fetch the data.

  6. Focus border on channel cards
    The currently-focused channel card gets a thin white border so it's clearly visible. Implemented as a channel_card_background.xml. If this UI element were to be used in other places (chapter cards etc), I would probably implement this differently.

Tested in emulator, fire cube and nvidia shield. There are some "complimentary" changes in various other PRs that I didn't cherry pick into this but I have, and always have, merged all my branches/PRs together into an integration branch to test they will all co-exist. However, depending on merge order (if any), it's possible merge conflicts may arise. This one should be last if merged.

Code assistance
Claude Opus/Sonnet and Codex used mostly for code reviews but also investigating ideas/approaches. Used in some places for coding (agent mode) when issues arose.

@WizardOfYendor1 WizardOfYendor1 force-pushed the feature/channel-overlay-enhancements branch from ab7d8ad to dd2f92d Compare March 1, 2026 01:28
@WizardOfYendor1 WizardOfYendor1 marked this pull request as ready for review March 1, 2026 02:13
@WizardOfYendor1 WizardOfYendor1 force-pushed the feature/channel-overlay-enhancements branch from ab8df2a to 67ae691 Compare March 6, 2026 17:37
- add circular scrolling for quick channel and chapter popups
- show favorite and recording indicators on channel cards
- replace the static popup header with program title, episode metadata,
  and description with debounced updates
- add a focused channel-card border and update the popup layout
- preserve the focused channel across refreshes and long-running playback
- harden popup row positioning, adapter lifecycle, and focus trapping
- remove noisy logging and add null/edge-case guards
@WizardOfYendor1 WizardOfYendor1 force-pushed the feature/channel-overlay-enhancements branch from 67ae691 to cc23399 Compare March 28, 2026 16:47
@WizardOfYendor1

Copy link
Copy Markdown
Contributor Author

Housekeeping change: I squashed the commits so the history is less polluted. I merged in another change that added the recording indicator to the channel card, as it seemed to "go with" the other changes (like favorite icon).

@WizardOfYendor1 WizardOfYendor1 changed the title Enhancements to the quick channel changer/chapter popup overlay Feature - Enhancements to the quick channel changer/chapter popup overlay Mar 28, 2026
@WizardOfYendor1

WizardOfYendor1 commented Apr 6, 2026

Copy link
Copy Markdown
Contributor Author

I thought I should also mention that I been pseduo-working on implementing livetv in the compose framework - mostly as a learning exercise. I've implemented (mostly) these enhancements there as well (NOT currently in this PR).

That code base still needs much work and refinement as I've been working through it piecemeal merely to understand how compose and android tv UI works but.... nevertheless, it's in a functional and reasonable state but it's missing stuff like chapter handling in the overlay etc at the moment. The goal I had here was to get close to "parity" with the leanback implementation.

Not sure there is some larger effort to implement this, so really unsure this code/effort is "welcome" but I willing to offer this also, if of interest, otherwise; it's learning experience for me (P.S. writing a channel guide with all the behaviors etc, was MUCH harder than I thought it would be :-))

Compose version screenshots below... using "emerald" theme to demonstrate I made some attempt to use the shared resources the leanback implementation uses. Obviously you can flip back and forth via the developer options on the config screen between the 2 different implementations.

Screenshot_20260406_101307 Screenshot_20260406_101332 Screenshot_20260406_101146

@johnpc

johnpc commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

Feels off topic for this PR, for the live tv change, I wonder if you can include this idea as well #4537

@WizardOfYendor1

WizardOfYendor1 commented Apr 27, 2026

Copy link
Copy Markdown
Contributor Author

Feels off topic for this PR, for the live tv change, I wonder if you can include this idea as well #4537

Judging by my other PRs that were closed; I'm doubting any new enhancement PRs will be entertained (including this one) until the new rewrite is further along.

I do have a new "greenfield" (i.e. written from scratch) of a compose livetv implementation for a stand alone jellyfin android tv client I've been working on. I may look at other clients out there and see if I can refactor it for them (presuming they want it) but it still needs a lot of work . If so, I'll work in your suggestion. Thanks.

thor2002ro added a commit to thor2002ro/jellyfin-androidtv that referenced this pull request Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants