From 3f056a72949541bdb44a94383887bd25434964ab Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Sat, 28 Feb 2026 12:10:18 +0530 Subject: [PATCH] fix(android): block onboarding advance until special setup is complete --- .../ai/openclaw/android/ui/OnboardingFlow.kt | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/android/app/src/main/java/ai/openclaw/android/ui/OnboardingFlow.kt b/apps/android/app/src/main/java/ai/openclaw/android/ui/OnboardingFlow.kt index 182b83f2639..43f4829a0e5 100644 --- a/apps/android/app/src/main/java/ai/openclaw/android/ui/OnboardingFlow.kt +++ b/apps/android/app/src/main/java/ai/openclaw/android/ui/OnboardingFlow.kt @@ -319,14 +319,18 @@ fun OnboardingFlow(viewModel: MainViewModel, modifier: Modifier = Modifier) { if (enabled.isEmpty()) "None selected" else enabled.joinToString(", ") } - val proceedFromPermissions: () -> Unit = { - when { - enableNotificationListener && !isNotificationListenerEnabled(context) -> { - openNotificationListenerSettings(context) - } - enableAppUpdates && !canInstallUnknownApps(context) -> { - openUnknownAppSourcesSettings(context) - } + val proceedFromPermissions: () -> Unit = proceed@{ + var openedSpecialSetup = false + if (enableNotificationListener && !isNotificationListenerEnabled(context)) { + openNotificationListenerSettings(context) + openedSpecialSetup = true + } + if (enableAppUpdates && !canInstallUnknownApps(context)) { + openUnknownAppSourcesSettings(context) + openedSpecialSetup = true + } + if (openedSpecialSetup) { + return@proceed } step = OnboardingStep.FinalCheck }