feat: "Only Iptv" mode - #504
Conversation
Added IPTV mode toggle functionality with methods to check and set the mode.
ProdigyV21
left a comment
There was a problem hiding this comment.
Thanks Aaron — "IPTV-only mode" is a genuinely good idea; plenty of people use ARVIO purely as an IPTV player. But this version can't go in:
-
It doesn't compile. Missing comma before the new
onToggleIptvOnlyModeparameter, the closing brace ofIptvSettingsis deleted, and the threeIptvSettings(...)call sites never pass the two new required parameters. Verified locally: the build fails with anUnresolved referencecascade. -
Permanent data loss. The filter sits inside
readCatalogsFromPrefs, butreadCatalogsForActiveProfiletreats any difference from raw prefs as a migration and callssaveCatalogs(). The first home-screen load after enabling the toggle permanently rewrites the saved catalog list — destroying Trakt/MDBList/addon catalogs — and syncs the wipe to the cloud. Toggling off restores nothing. -
D-pad breakage. The parent screen's
sectionMaxIndexand OK-press handler still use the old row indices. With the shifted slots, OK on "Refresh" now runsclearIptvConfig()(deletes all playlists), the Delete row is unreachable, and the new toggle can't be activated by remote. TV is the primary form factor. -
Wrong target.
HOME_SERVERcatalogs are Plex/Jellyfin/Emby, not IPTV — IPTV playlists live in Live TV and never pass through CatalogRepository. Enabling the mode keeps Plex rows and blanks home for actual IPTV-only users.
Happy to review a rework: filter at the presentation layer (HomeViewModel), never in the persistence read path; hide VOD rows and land on Live TV; update the D-pad indices together with the rows.
For users who only access content hosted on an IPTV server, it can be confusing to see covers for content that hasn't yet been uploaded to the server.
In this mode, ARVIO skips the other catalogs and loads only the one for content hosted on the server, then loads the covers and information later, so that only the content that can be viewed is visible.
This is an extra feature for those who use the app only as an IPTV player.
To enable it, I've added a button to the IPTV menu where you can turn this option on or off.