You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I’m extending Jellyfin Android TV to integrate Sonarr data. I’ve successfully done this for Series, but I’m hitting a hard wall with Seasons and I’m hoping for guidance from core devs.
What works (Series):
Series open in FullDetailsFragment
Rows are built with ItemRowAdapter
I can safely:
mutate row contents
inject missing items
swap presenters
Default navigation still works for real items
No crashes
What fails (Season):
Seasons normally open via EnhancedBrowseFragment / GenericFolderFragment
Episode rows are query-driven (BrowseRowDef → ItemRowAdapter)
I can replace the Episode Row with a combined row of real + generated Missing episodes, but if I try to:
replace the episode row adapter
inject a MutableObjectAdapter
→ clicking crashes with
ClassCastException: MutableObjectAdapter cannot be cast to ItemRowAdapter
Click handling in browse fragments appears to assume ItemRowAdapter, so even though my presenters bind correctly, clicks are intercepted before my listener runs.
Key question:
Is there a supported way to:
Modify or extend the Episode row for Seasons the same way we can for Series?
Intercept or augment episode rows after query rows are built?
Or is the correct approach to always route Seasons to FullDetailsFragment (like Series) if row mutation is required? I've done this, but then I'm sending a MutableObjectAdapter when an episode is clicked, but it's expecting an ItemRowAdapter (but this process WORKS when I do it with Series -> Season).
I’m trying to avoid forking core navigation or rewriting EnhancedBrowseFragment, but currently Season behavior seems fundamentally different from Series despite both using MutableObjectAdapter at the surface.
Any guidance on the intended extension point here would be greatly appreciated.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
I’m extending Jellyfin Android TV to integrate Sonarr data. I’ve successfully done this for Series, but I’m hitting a hard wall with Seasons and I’m hoping for guidance from core devs.
What works (Series):
I can safely:
What fails (Season):
Seasons normally open via EnhancedBrowseFragment / GenericFolderFragment
Episode rows are query-driven (BrowseRowDef → ItemRowAdapter)
I can replace the Episode Row with a combined row of real + generated Missing episodes, but if I try to:
→ clicking crashes with
ClassCastException: MutableObjectAdapter cannot be cast to ItemRowAdapter
Click handling in browse fragments appears to assume ItemRowAdapter, so even though my presenters bind correctly, clicks are intercepted before my listener runs.
Key question:
Is there a supported way to:
Modify or extend the Episode row for Seasons the same way we can for Series?
Intercept or augment episode rows after query rows are built?
Or is the correct approach to always route Seasons to FullDetailsFragment (like Series) if row mutation is required? I've done this, but then I'm sending a MutableObjectAdapter when an episode is clicked, but it's expecting an ItemRowAdapter (but this process WORKS when I do it with Series -> Season).
I’m trying to avoid forking core navigation or rewriting EnhancedBrowseFragment, but currently Season behavior seems fundamentally different from Series despite both using MutableObjectAdapter at the surface.
Any guidance on the intended extension point here would be greatly appreciated.
All reactions