From c5edd9f13d5c38824f529a3b7fe9410ff7f3b2e1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 9 Feb 2026 13:33:03 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tap/features/root/RootDetectedWarningComponent.kt | 6 +++++- .../routing/component/impl/DefaultRoutingComponent.kt | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) 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) + } } } }