diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt index d1a953ba09..cf67a765d7 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt @@ -26,8 +26,10 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import com.bumble.appyx.core.composable.Children +import com.bumble.appyx.core.composable.PermanentChild import com.bumble.appyx.core.lifecycle.subscribe import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.navigation.model.permanent.PermanentNavModel import com.bumble.appyx.core.node.Node import com.bumble.appyx.core.plugin.Plugin import com.bumble.appyx.core.plugin.plugins @@ -95,6 +97,10 @@ class LoggedInFlowNode @AssistedInject constructor( initialElement = NavTarget.RoomList, savedStateMap = buildContext.savedStateMap, ), + permanentNavModel = PermanentNavModel( + NavTarget.Permanent, + savedStateMap = buildContext.savedStateMap, + ), buildContext = buildContext, plugins = plugins ) { @@ -328,7 +334,7 @@ class LoggedInFlowNode @AssistedInject constructor( val isFtueDisplayed by ftueState.shouldDisplayFlow.collectAsState() if (!isFtueDisplayed) { - PermanentChild(navTarget = NavTarget.Permanent) + PermanentChild(permanentNavModel = permanentNavModel, navTarget = NavTarget.Permanent) } } } diff --git a/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/BackstackNode.kt b/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/BackstackNode.kt index ec22c5e21f..deb6d0e63b 100644 --- a/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/BackstackNode.kt +++ b/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/BackstackNode.kt @@ -19,6 +19,8 @@ package io.element.android.libraries.architecture import androidx.compose.runtime.Stable import com.bumble.appyx.core.children.ChildEntry import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.navigation.model.combined.plus +import com.bumble.appyx.core.navigation.model.permanent.PermanentNavModel import com.bumble.appyx.core.node.Node import com.bumble.appyx.core.node.ParentNode import com.bumble.appyx.core.plugin.Plugin @@ -33,10 +35,11 @@ import com.bumble.appyx.navmodel.backstack.BackStack abstract class BackstackNode( val backstack: BackStack, buildContext: BuildContext, + plugins: List, + val permanentNavModel: PermanentNavModel = PermanentNavModel(emptySet(), null), childKeepMode: ChildEntry.KeepMode = ChildEntry.KeepMode.KEEP, - plugins: List ) : ParentNode( - navModel = backstack, + navModel = backstack + permanentNavModel, buildContext = buildContext, plugins = plugins, childKeepMode = childKeepMode,