From 60b11d5cecea978d3d26742119a540a77ff52d88 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 18 Nov 2022 16:34:50 +0100 Subject: [PATCH] Try to Preview the navigation (not working) --- .../java/io/element/android/x/MainActivity.kt | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/io/element/android/x/MainActivity.kt b/app/src/main/java/io/element/android/x/MainActivity.kt index 16d0bb0752..9ce3b8fece 100644 --- a/app/src/main/java/io/element/android/x/MainActivity.kt +++ b/app/src/main/java/io/element/android/x/MainActivity.kt @@ -11,9 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.lifecycle.Lifecycle +import androidx.compose.ui.tooling.preview.Preview import com.ramcosta.composedestinations.DestinationsNavHost import com.ramcosta.composedestinations.rememberNavHostEngine +import com.ramcosta.composedestinations.spec.Route import io.element.android.x.core.compose.OnLifecycleEvent import io.element.android.x.designsystem.ElementXTheme import io.element.android.x.destinations.OnBoardingScreenNavigationDestination @@ -36,8 +37,6 @@ class MainActivity : ComponentActivity() { @Composable private fun MainScreen(viewModel: MainViewModel) { - val engine = rememberNavHostEngine() - val navController = engine.rememberNavController() val startRoute = runBlocking { if (!viewModel.isLoggedIn()) { OnBoardingScreenNavigationDestination @@ -47,11 +46,7 @@ private fun MainScreen(viewModel: MainViewModel) { } } - DestinationsNavHost( - modifier = Modifier.background(MaterialTheme.colorScheme.background), - engine = engine, - navController = navController, - navGraph = NavGraphs.root, + MainContent( startRoute = startRoute ) @@ -59,3 +54,23 @@ private fun MainScreen(viewModel: MainViewModel) { Timber.v("OnLifecycleEvent: $event") } } + +@Composable +private fun MainContent(startRoute: Route) { + val engine = rememberNavHostEngine() + val navController = engine.rememberNavController() + + DestinationsNavHost( + modifier = Modifier.background(MaterialTheme.colorScheme.background), + engine = engine, + navController = navController, + navGraph = NavGraphs.root, + startRoute = startRoute + ) +} + +@Composable +@Preview +private fun MainContentPreview() { + MainContent(startRoute = OnBoardingScreenNavigationDestination) +} \ No newline at end of file