From 9b565d018350659cfe5422109a3c8dfb2bf511e2 Mon Sep 17 00:00:00 2001 From: John Corser Date: Wed, 16 Sep 2026 11:25:52 -0400 Subject: [PATCH] Add Seasons and Series navigation rows to season browse page When browsing a season, show a 'Seasons' row listing the other seasons of the same series and a 'Series' row linking back to the parent series, so users can navigate to sibling seasons or the show from within a season. --- .../ui/browsing/GenericFolderFragment.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GenericFolderFragment.kt b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GenericFolderFragment.kt index 16acd48dc..0588725d2 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GenericFolderFragment.kt +++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GenericFolderFragment.kt @@ -66,6 +66,23 @@ class GenericFolderFragment : EnhancedBrowseFragment() { if (mFolder.type == BaseItemKind.SEASON) { val specials = GetSpecialsRequest(mFolder.id) mRows.add(BrowseRowDef(getString(R.string.lbl_specials), specials)) + + val seriesId = mFolder.seriesId ?: mFolder.parentId + if (seriesId != null) { + val otherSeasons = GetItemsRequest( + fields = ItemRepository.itemFields, + parentId = seriesId, + includeItemTypes = setOf(BaseItemKind.SEASON), + excludeItemIds = setOf(mFolder.id), + ) + mRows.add(BrowseRowDef(getString(R.string.lbl_seasons), otherSeasons, 100)) + + val series = GetItemsRequest( + fields = ItemRepository.itemFields, + ids = setOf(seriesId), + ) + mRows.add(BrowseRowDef(getString(R.string.lbl_series), series, 100)) + } } rowLoader.loadRows(mRows)