Skip to content

feat(iptv): add VOD search toggle and fix IPTV catalog resolution & legacy compatibility - #628

Merged
ProdigyV21 merged 1 commit into
ProdigyV21:mainfrom
Himanth-reddy:feat/iptv-vod-search-and-fixes
Sep 2, 2026
Merged

feat(iptv): add VOD search toggle and fix IPTV catalog resolution & legacy compatibility#628
ProdigyV21 merged 1 commit into
ProdigyV21:mainfrom
Himanth-reddy:feat/iptv-vod-search-and-fixes

Conversation

@Himanth-reddy

Copy link
Copy Markdown
Collaborator

Overview

This PR adds a user toggle in Settings to control IPTV VOD stream fetching, simplifies IPTV settings labels for clarity, and fixes catalog download and legacy deserialization bugs that prevented IPTV VOD from returning sources.

Changes

  1. IPTV VOD Search Toggle:

    • Added IPTV_VOD_SEARCH_ENABLED_KEY DataStore preference.
    • Added toggle row to TV & Mobile settings under the IPTV section.
    • Guarded findMovieVodSources and findEpisodeVodSources with isVodSearchEnabled().
  2. Cleaned Settings Labels:

    • Shortened and clarified IPTV settings titles and descriptions in strings.xml.
  3. Catalog Download & Coroutine Timeout Fixes:

    • Replaced short-timeout xtreamLookupHttpClient with iptvHttpClient for large Xtream VOD (get_vod_streams) and series (get_series) catalog downloads to prevent InterruptedIOException: timeout.
    • Removed premature inner withTimeoutOrNull limits inside series episode resolution so caller's outer budget is respected.
  4. Legacy Playlist Compatibility:

    • Made selective import flags (importLiveTv, importVod, importSeries) in IptvPlaylistEntry nullable with default true so that legacy saved JSON without these keys does not default to false during reflection deserialization.
  5. Unit Tests:

    • Added unit tests in IptvVodSearchPreferenceTest and regression coverage in IptvActivePlaylistsTest.

…egacy compatibility

- Add 'IPTV VOD streams' toggle in TV settings (SettingsScreen, SettingsViewModel, IptvRepository).
- Clean up and shorten IPTV/TV guide settings titles and descriptions.
- Use iptvHttpClient with extended timeout for large Xtream VOD and series catalog downloads.
- Remove hardcoded inner coroutine timeouts in episode VOD resolution to allow proper catalog downloads.
- Fix legacy playlist deserialization so missing selective import flags safely default to enabled.
- Add unit tests for VOD search preference and legacy playlist import compatibility.
@github-actions github-actions Bot added the area: android Changes to the Android app or Gradle build label Sep 2, 2026
@ProdigyV21
ProdigyV21 merged commit afdff3a into ProdigyV21:main Sep 2, 2026
9 checks passed
@Himanth-reddy
Himanth-reddy deleted the feat/iptv-vod-search-and-fixes branch September 3, 2026 04:29
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