I am creating a single activity app with Jetpack compose using it's navigation component. I have created composables to represent different screens, and used the navigation component as:
@InternalCoroutinesApi
@ExperimentalAnimationApi
@ExperimentalPagerApi
@RequiresApi(Build.VERSION_CODES.M)
@ExperimentalComposeUiApi
@Composable
fun ProgressNavigation(themeViewModel: ThemeViewModel?) {
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = Constants.SPLASH
) {composable(Constants.SPLASH) {
ScreenAnimation {
Splash(navController = navController)
}
}
composable(Constants.HIW) {
ScreenAnimation {
LogoPage(false, true, navController = navController) { HowItWorks( navController = navController) }
}
}
.
.
.
}
Let's say I have 2 screens (composables) "SignUp" and "TnC".
User enters the sign up details in SignUp screen then goes to TnC screen. On coming back to
SignUp screen by pressing a button in TnC screen the details entered earlier in SignUp should remain intact. How do I implement this? If the screens were activities I would do it by popping off the screen from backstack using onBackPressed.
How do I do this in my case?