From a6404a9b4702ee8d93fd4420ed120b7a7d43eaf5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 3 May 2024 12:07:20 +0200 Subject: [PATCH] Small rework for code clarity. Actually hide the attachment of LoggedInAppScopeFlowNode. --- .../main/kotlin/io/element/android/appnav/RootFlowNode.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt index 78f9943843..db04345a4e 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt @@ -288,7 +288,6 @@ class RootFlowNode @AssistedInject constructor( private suspend fun navigateTo(permalinkData: PermalinkData) { Timber.d("Navigating to $permalinkData") attachSession(null) - .attachSession() .apply { when (permalinkData) { is PermalinkData.FallbackLink -> Unit @@ -309,7 +308,6 @@ class RootFlowNode @AssistedInject constructor( private suspend fun navigateTo(deeplinkData: DeeplinkData) { Timber.d("Navigating to $deeplinkData") attachSession(deeplinkData.sessionId) - .attachSession() .apply { when (deeplinkData) { is DeeplinkData.Root -> Unit // The room list will always be shown, observing FtueState @@ -323,10 +321,11 @@ class RootFlowNode @AssistedInject constructor( } // [sessionId] will be null for permalink. - private suspend fun attachSession(sessionId: SessionId?): LoggedInAppScopeFlowNode { + private suspend fun attachSession(sessionId: SessionId?): LoggedInFlowNode { // TODO handle multi-session - return waitForChildAttached { navTarget -> + return waitForChildAttached { navTarget -> navTarget is NavTarget.LoggedInFlow && (sessionId == null || navTarget.sessionId == sessionId) } + .attachSession() } }