mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-05 00:10:25 +00:00
fix(android): require node connection before onboarding finish
This commit is contained in:
@@ -229,8 +229,7 @@ fun OnboardingFlow(viewModel: MainViewModel, modifier: Modifier = Modifier) {
|
||||
var manualTls by rememberSaveable { mutableStateOf(false) }
|
||||
var gatewayError by rememberSaveable { mutableStateOf<String?>(null) }
|
||||
var attemptedConnect by rememberSaveable { mutableStateOf(false) }
|
||||
val canFinishOnboarding =
|
||||
isConnected || (gatewayInputMode == GatewayInputMode.SetupCode && isNodeConnected)
|
||||
val canFinishOnboarding = canFinishOnboarding(isConnected = isConnected, isNodeConnected = isNodeConnected)
|
||||
|
||||
val lifecycleOwner = LocalLifecycleOwner.current
|
||||
val qrScannerOptions =
|
||||
@@ -912,6 +911,10 @@ fun OnboardingFlow(viewModel: MainViewModel, modifier: Modifier = Modifier) {
|
||||
}
|
||||
}
|
||||
|
||||
internal fun canFinishOnboarding(isConnected: Boolean, isNodeConnected: Boolean): Boolean {
|
||||
return isConnected && isNodeConnected
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun onboardingPrimaryButtonColors() =
|
||||
ButtonDefaults.buttonColors(
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package ai.openclaw.app.ui
|
||||
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
class OnboardingFlowLogicTest {
|
||||
@Test
|
||||
fun blocksFinishWhenOnlyOperatorIsConnected() {
|
||||
assertFalse(canFinishOnboarding(isConnected = true, isNodeConnected = false))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun blocksFinishWhenDisconnected() {
|
||||
assertFalse(canFinishOnboarding(isConnected = false, isNodeConnected = false))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun allowsFinishOnlyWhenOperatorAndNodeAreConnected() {
|
||||
assertTrue(canFinishOnboarding(isConnected = true, isNodeConnected = true))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user