diff --git a/app/src/main/java/com/nuvio/tv/core/player/StreamAutoPlaySelector.kt b/app/src/main/java/com/nuvio/tv/core/player/StreamAutoPlaySelector.kt index 52f5a4c1..7692c6ce 100644 --- a/app/src/main/java/com/nuvio/tv/core/player/StreamAutoPlaySelector.kt +++ b/app/src/main/java/com/nuvio/tv/core/player/StreamAutoPlaySelector.kt @@ -106,11 +106,6 @@ object StreamAutoPlaySelector { StreamAutoPlayMode.FIRST_STREAM -> candidateStreams.firstOrNull { it.getStreamUrl() != null } StreamAutoPlayMode.REGEX_MATCH -> { val pattern = regexPattern.trim() - - // Skip regex entirely if pattern is blank - if (pattern.isBlank()) { - return null - } // Try to compile the user regex val userRegex = runCatching { Regex(pattern, RegexOption.IGNORE_CASE) }.getOrNull() ?: return null diff --git a/app/src/main/java/com/nuvio/tv/ui/screens/stream/StreamScreenViewModel.kt b/app/src/main/java/com/nuvio/tv/ui/screens/stream/StreamScreenViewModel.kt index aeed50c6..5a738b43 100644 --- a/app/src/main/java/com/nuvio/tv/ui/screens/stream/StreamScreenViewModel.kt +++ b/app/src/main/java/com/nuvio/tv/ui/screens/stream/StreamScreenViewModel.kt @@ -180,6 +180,14 @@ class StreamScreenViewModel @Inject constructor( directAutoPlayModeInitializedForSession = true } + val rawRegex = playerSettings.streamAutoPlayRegex.orEmpty().trim() + val isEffectivelyEmptyRegex = rawRegex.isEmpty() || !rawRegex.any { it.isLetterOrDigit() } + + if (playerSettings.streamAutoPlayMode == StreamAutoPlayMode.REGEX_MATCH && isEffectivelyEmptyRegex) { + directAutoPlayFlowEnabledForSession = false + autoPlayHandledForSession = true + } + val directFlowActive = directAutoPlayFlowEnabledForSession var resolvedAutoPlayTarget = false