fun HealthPlatformNavigation()

in health-platform-v1/HealthPlatformSample/app/src/main/java/com/example/healthplatformsample/presentation/navigation/HealthPlatformNavigation.kt [35:81]


fun HealthPlatformNavigation(
    navController: NavHostController = rememberNavController(),
    healthPlatformManager: HealthPlatformManager,
    scaffoldState: ScaffoldState
) {
    val scope = rememberCoroutineScope()
    NavHost(navController = navController, startDestination = Screen.SessionList.route) {
        composable(Screen.SessionList.route) {
            ListSessionsScreen(
                healthPlatformManager = healthPlatformManager,
                onDetailsClick = { uid ->
                    val route = Screen.SessionDetail.route + "/" + uid
                    navController.navigate(route)
                },
                onError = { context, exception ->
                    showExceptionSnackbar(scaffoldState, scope, exception)
                    context.tryHealthDataResolution(exception)
                }
            )
        }
        composable(
            route = Screen.SessionDetail.route + "/{$UID_NAV_ARGUMENT}",
            arguments = listOf(
                navArgument(UID_NAV_ARGUMENT) { type = NavType.StringType }
            )
        ) {
            val uid = it.arguments?.getString(UID_NAV_ARGUMENT)!!
            SessionDetailScreen(
                healthPlatformManager = healthPlatformManager,
                uid = uid,
                onError = { context, exception ->
                    showExceptionSnackbar(scaffoldState, scope, exception)
                    context.tryHealthDataResolution(exception)
                }
            )
        }
        composable(Screen.TotalSteps.route) {
            TotalStepsScreen(
                healthPlatformManager = healthPlatformManager,
                onError = { context, exception ->
                    showExceptionSnackbar(scaffoldState, scope, exception)
                    context.tryHealthDataResolution(exception)
                }
            )
        }
    }
}