From 02533553f7d6821bd9627735e4c16bd266734b1d Mon Sep 17 00:00:00 2001 From: craitose <52755601+craitose@users.noreply.github.com> Date: Sun, 1 Mar 2026 20:22:37 +0000 Subject: [PATCH] trigger empty regex search skip at lower level --- .../com/nuvio/tv/core/player/StreamAutoPlaySelector.kt | 5 ----- .../nuvio/tv/ui/screens/stream/StreamScreenViewModel.kt | 8 ++++++++ 2 files changed, 8 insertions(+), 5 deletions(-) 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 92a20c2f..a225ec9f 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 @@ -58,11 +58,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