feat: add regex-based stream autoplay filtering (mirrored from NuvioTV) - #109
feat: add regex-based stream autoplay filtering (mirrored from NuvioTV)#109EierKopZA wants to merge 1 commit into
Conversation
|
The regex autoplay feature itself is a nice addition and the core logic in Blocking — please remove these files from the PR:
These look like accidental additions from your local gradle runs. You can drop them with: \\�ash And consider adding them to Also verify (same recurring gotcha as #110 / #112): inserting the Once the three stray files are removed and the focus/clamp check is done, this should be straightforward to merge. |
This PR implements a new "Auto-Play Match Mode" that allows for advanced stream filtering using regex patterns during autoplay. This provides users with much finer control than simple quality thresholds (inspired by NuvioTV's implementation).
Key Features:
Regex Presets: Added a selection of common filter presets in Settings (e.g., Any 1080p+, 4K / Remux, No CAM/TS, HEVC / x265).
Device-Specific Persistence: Settings are stored locally via DataStore (not synced to cloud) to ensure that specific playback preferences stay on the intended device.
Advanced Matching: Automatically builds a searchable metadata blob for every stream (Addon + Quality + Source + URL) and matches it against the user's regex pattern.
Smart Fallback: If a regex is active but no matching streams are found, the app intelligently falls back to the manual source picker.
Files Changed:
SettingsViewModel.kt: Added local persistence logic.
SettingsScreen.kt: Integrated the "Match Mode" UI row and picker modal.
DetailsViewModel.kt: Exposed the regex state to the details view.
DetailsScreen.kt: Implemented the core regex comparison and auto-selection logic.