diff --git a/app/src/main/java/com/tangem/tap/features/root/RootDetectedWarningComponent.kt b/app/src/main/java/com/tangem/tap/features/root/RootDetectedWarningComponent.kt index 16077bce72..8a28992da8 100644 --- a/app/src/main/java/com/tangem/tap/features/root/RootDetectedWarningComponent.kt +++ b/app/src/main/java/com/tangem/tap/features/root/RootDetectedWarningComponent.kt @@ -30,10 +30,14 @@ class RootDetectedWarningComponent @AssistedInject constructor( private val isShown = instanceKeeper.getOrCreateSimple { MutableStateFlow(false) } + suspend fun shouldShowWarning(): Boolean { + return settingsRepository.isRootDetectedWarningShown().not() && securityInfoProvider.isSecurityExposed() + } + suspend fun tryToShowWarningAndWaitContinuation() { if (isShown.value) return - if (settingsRepository.isRootDetectedWarningShown().not() && securityInfoProvider.isSecurityExposed()) { + if (shouldShowWarning()) { isShown.value = true } diff --git a/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt b/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt index 23bc630cec..3000c53538 100644 --- a/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt +++ b/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt @@ -141,9 +141,15 @@ internal class DefaultRoutingComponent @AssistedInject constructor( private fun initializeInitialNavigation() { if (initialStack.isNullOrEmpty()) { componentScope.launch { - rootDetectedWarningComponent.tryToShowWarningAndWaitContinuation() val initialRoute = resolveInitialRoute() - router.replaceAll(initialRoute) + if (rootDetectedWarningComponent.shouldShowWarning()) { + launch(dispatchers.main) { + rootDetectedWarningComponent.tryToShowWarningAndWaitContinuation() + router.replaceAll(initialRoute) + } + } else { + router.replaceAll(initialRoute) + } } } }