From 76dc176fd3dd9a26b95966adbb08e65e354ef40a Mon Sep 17 00:00:00 2001 From: omigamedev Date: Wed, 4 Mar 2026 14:39:29 +0100 Subject: [PATCH] Fix login scan not restarting after logout Move scan trigger from ViewModel init to LaunchedEffect in LoginScreen so discovery runs each time the screen appears, not just on first creation. --- .../java/com/omixlab/lckcontrol/app/ui/login/LoginScreen.kt | 5 +++++ .../com/omixlab/lckcontrol/app/ui/login/LoginViewModel.kt | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginScreen.kt b/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginScreen.kt index 7a14e0a..88b2d74 100644 --- a/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginScreen.kt +++ b/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginScreen.kt @@ -26,6 +26,11 @@ fun LoginScreen( ) { val uiState by viewModel.uiState.collectAsStateWithLifecycle() + // Start scanning each time the login screen appears + LaunchedEffect(Unit) { + viewModel.startScan() + } + LaunchedEffect(uiState.loginSuccess) { if (uiState.loginSuccess) onLoginSuccess() } diff --git a/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginViewModel.kt b/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginViewModel.kt index f31011b..997b2b0 100644 --- a/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginViewModel.kt +++ b/app/src/main/java/com/omixlab/lckcontrol/app/ui/login/LoginViewModel.kt @@ -57,10 +57,6 @@ class LoginViewModel @Inject constructor( private var scanJob: Job? = null private val lanTls by lazy { LanTlsFactory.create(context) } - init { - startScan() - } - fun startScan() { scanJob?.cancel() _uiState.value = LoginUiState(phase = LoginPhase.SCANNING)