diff --git a/apps/android/app/src/main/java/chat/simplex/app/SimplexApp.kt b/apps/android/app/src/main/java/chat/simplex/app/SimplexApp.kt index 73d8ffe1e..b2d4a868c 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/SimplexApp.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/SimplexApp.kt @@ -78,9 +78,12 @@ class SimplexApp: Application(), LifecycleEventObserver { savedOnboardingStage } chatController.startChat(user) - chatController.showBackgroundServiceNoticeIfNeeded() - if (appPreferences.notificationsMode.get() == NotificationsMode.SERVICE.name) - SimplexService.start(applicationContext) + // Prevents from showing "Enable notifications" alert when onboarding wasn't complete yet + if (chatModel.onboardingStage.value == OnboardingStage.OnboardingComplete) { + chatController.showBackgroundServiceNoticeIfNeeded() + if (appPreferences.notificationsMode.get() == NotificationsMode.SERVICE.name) + SimplexService.start(applicationContext) + } } } } diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/WelcomeView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/WelcomeView.kt index 36a593f6f..88dc7165a 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/WelcomeView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/WelcomeView.kt @@ -127,12 +127,15 @@ fun createProfile(chatModel: ChatModel, displayName: String, fullName: String, c chatModel.controller.startChat(user) chatModel.controller.appPrefs.onboardingStage.set(OnboardingStage.Step3_CreateSimpleXAddress) chatModel.onboardingStage.value = OnboardingStage.Step3_CreateSimpleXAddress - SimplexApp.context.chatModel.controller.ntfManager.createNtfChannelsMaybeShowAlert() } else { val users = chatModel.controller.listUsers() chatModel.users.clear() chatModel.users.addAll(users) chatModel.controller.getUserChatData() + // the next two lines are only needed for failure case when because of the database error the app gets stuck on on-boarding screen, + // this will get it unstuck. + chatModel.controller.appPrefs.onboardingStage.set(OnboardingStage.OnboardingComplete) + chatModel.onboardingStage.value = OnboardingStage.OnboardingComplete close() } } diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/onboarding/SetNotificationsMode.kt b/apps/android/app/src/main/java/chat/simplex/app/views/onboarding/SetNotificationsMode.kt index a0d2c66b1..9bf170cae 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/onboarding/SetNotificationsMode.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/onboarding/SetNotificationsMode.kt @@ -47,6 +47,9 @@ fun SetNotificationsMode(m: ChatModel) { } Spacer(Modifier.fillMaxHeight().weight(1f)) } + LaunchedEffect(Unit) { + m.controller.ntfManager.createNtfChannelsMaybeShowAlert() + } } @Composable