From b275d3c06346607bea6c82e3aaf02069e6a5d47d Mon Sep 17 00:00:00 2001 From: Avently <7953703+avently@users.noreply.github.com> Date: Fri, 22 Nov 2024 15:53:52 +0700 Subject: [PATCH] fix start chat alert --- .../common/views/onboarding/ChooseServerOperators.kt | 11 ++++------- .../common/views/onboarding/SetNotificationsMode.kt | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt index d7863b4242..8473954f95 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt @@ -25,6 +25,10 @@ import dev.icerock.moko.resources.compose.stringResource @Composable fun ModalData.ChooseServerOperators(onboarding: Boolean, close: () -> Unit) { + LaunchedEffect(Unit) { + prepareChatBeforeFinishingOnboarding() + } + CompositionLocalProvider(LocalAppBarHandler provides rememberAppBarHandler()) { ModalView({}, showClose = false, endButtons = { IconButton({ (if (onboarding) ModalManager.fullscreen else ModalManager.start).showModal { ChooseServerOperatorsInfoView() } }) { @@ -295,9 +299,6 @@ private fun AcceptConditionsButton( private fun continueToNextStep(onboarding: Boolean, close: () -> Unit) { if (onboarding) { appPrefs.onboardingStage.set(if (appPlatform.isAndroid) OnboardingStage.Step4_SetNotificationsMode else OnboardingStage.OnboardingComplete) - if (appPlatform.isDesktop) { - startChatIfNeeded() - } } else { close() } @@ -308,10 +309,6 @@ private fun continueToSetNotificationsAfterAccept() { ModalManager.fullscreen.showModalCloseable(showClose = false) { SetNotificationsMode(chatModel) } } -private fun startChatIfNeeded() { - prepareChatBeforeNotificationsSetup() -} - private fun enabledOperators(operators: List, selectedOperatorIds: Set): List? { val ops = ArrayList(operators) if (ops.isNotEmpty()) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SetNotificationsMode.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SetNotificationsMode.kt index 93fd85f488..49c91813dc 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SetNotificationsMode.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SetNotificationsMode.kt @@ -25,7 +25,7 @@ import chat.simplex.res.MR @Composable fun SetNotificationsMode(m: ChatModel) { LaunchedEffect(Unit) { - prepareChatBeforeNotificationsSetup() + prepareChatBeforeFinishingOnboarding() } CompositionLocalProvider(LocalAppBarHandler provides rememberAppBarHandler()) { @@ -99,7 +99,7 @@ fun SelectableCard(currentValue: State, newValue: T, title: String, descr Spacer(Modifier.height(14.dp)) } -fun prepareChatBeforeNotificationsSetup() { +fun prepareChatBeforeFinishingOnboarding() { // No visible users but may have hidden. In this case chat should be started anyway because it's stopped on this stage with hidden users if (chatModel.users.any { u -> !u.user.hidden }) return withBGApi {